conym18: chinesische datei übertragen

hallo zusammen,

ich habe lokal auf meinem rechner eine datei, indem der inhalt auf chinesich dargestellt wird.

also: 广告表,存放广告设置信息

wenn ich die datei nun auf meinen server übertrage und die datei aufrufe, kommt folgendes raus:

¹ã¸æ±í,´æ·Å¹ã¸æÉèÖÃÐÅÏ¢

wie kann ich es erreichen, dass die schrift nun auch auf meinem server in chinesisch dargestellt wird?

vielen dank

  1. Moin Moin!

    Dateiformat? Word? Notes? Textmaker? HTML?

    Ich vermute mal letzteres. Du hast ein Encoding-Problem, weil der Server nicht weiß, in welchem Zeichensatz die Datei gespeichert ist, und deswegen gar nichts oder etwas falsches angibt (typischerweise iso-8859-1). Teile dem Server mit, dass die Datei in einem anderen Format (vermutlich UTF-8) vorliegt.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. echo $begrüßung;

    ich habe lokal auf meinem rechner eine datei, indem der inhalt auf chinesich dargestellt wird.
    also: 广告表,存放广告设置信息

    Die Frage ist, welche Kodierung konkret vorliegt.

    wenn ich die datei nun auf meinen server übertrage und die datei aufrufe, kommt folgendes raus:
    ¹ã¸æ±í,´æ·Å¹ã¸æÉèÖÃÐÅÏ¢

    Dies kommt dann raus, wenn man obigen Text GB(K|2312|18030) kodiert vorliegen hat, aber nach ISO-8859-1 dekodiert.

    wie kann ich es erreichen, dass die schrift nun auch auf meinem server in chinesisch dargestellt wird?

    Gib dem Empfänger immer an, in welcher Kodierung ein Text vorliegt, damit er ihn eindeutig dekodieren kann. Die Kodierungsangabe steht im Parameter charset des HTTP-Headers Content-Type. Wenn diese Angabe nicht vorhanden ist, darf der Browser ersatzweise auch die Angabe im http-equiv-Meta-Element namens Content-Type verwenden.

    Welche HTTP-Header der Server mitsendet, kann man mit Tools wie der livehttpheaders-Extension für den Firefox herausfinden.

    Es ist empfehlenswert, auf UTF-8 als Kodierung zu setzen, denn das kann nicht nur vereinfachtes Chinesisch plus ASCII sondern praktisch alle Zeichen kodieren.

    echo "$verabschiedung $name";

    1. hi,

      also: 广告表,存放广告设置信息

      ¹ã¸æ±í,´æ·Å¹ã¸æÉèÖÃÐÅÏ¢

      Dies kommt dann raus, wenn man obigen Text GB(K|2312|18030) kodiert vorliegen hat, aber nach ISO-8859-1 dekodiert.

      Kannst du dass wirklich aus den Paar Zeichen rauslesen?
      Darf ich fragen, was man lernen muss, um sowas überhaupt erkennen zu können?

      mfg

      --
      echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
      array(2) {
        ["SELFCODE"]=>
        string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
        ["Aight"]=>
        string(?) "I Have a Dream"
      }
      1. echo $begrüßung;

        also: 广告表,存放广告设置信息
        ¹ã¸æ±í,´æ·Å¹ã¸æÉèÖÃÐÅÏ¢
        Dies kommt dann raus, wenn man obigen Text GB(K|2312|18030) kodiert vorliegen hat, aber nach ISO-8859-1 dekodiert.
        Kannst du dass wirklich aus den Paar Zeichen rauslesen?

        Ja, das hat gereicht.

        Darf ich fragen, was man lernen muss, um sowas überhaupt erkennen zu können?

        Browserbedienung.

        Hierzulande ist es ja üblich, ISO-8859-1 zu verwenden. Also nahm ich die Zeichen in eine Textdatei, speicherte sie ISO-8859-1-kodiert ab und übergab sie dem Firefox zum Fraß. Der war so freundlich sofort loszuraten und stellte sich auf GBK18030 ein (Menü Ansicht->Zeichenkodierung), wobei er die Zeichen nach obigem Muster darstellte. Auch das manuelle Umstellen auf die beiden anderen GB*-Kodierungen brachte keine Änderung, was daran liegen muss, dass sie in allen drei Kodierungen gleich kodiert werden. Die Wikipedia-Eintrag zu GBK klärte mich dann noch über die Verwandtschaftsverhältnisse der drei auf.

        echo "$verabschiedung $name";

        1. hi,

          Darf ich fragen, was man lernen muss, um sowas überhaupt erkennen zu können?

          Browserbedienung.

          Hierzulande ist es ja üblich, ISO-8859-1 zu verwenden. Also nahm ich die Zeichen in eine Textdatei, speicherte sie ISO-8859-1-kodiert ab und übergab sie dem Firefox zum Fraß. Der war so freundlich sofort loszuraten und stellte sich auf GBK18030 ein (Menü Ansicht->Zeichenkodierung), wobei er die Zeichen nach obigem Muster darstellte.

          Interessantes Debugging. Da muss man erst mal drauf kommen.
          Ich habe es jetzt auch mal nachgestellt, klappt wunderbar (und in UTF-8 wie erwartet richtig).

          Danke für die Erläuterung.

          mfg

          --
          echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
          array(2) {
            ["SELFCODE"]=>
            string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
            ["Aight"]=>
            string(?) "I Have a Dream"
          }
          1. hi,

            (und in UTF-8 wie erwartet richtig).

            Wobei ich jetzt meine zweifel habe, ob das „设“ in „广告表,存放广告设置信息“ tatsächlich richtig ist.

            mfg

            --
            echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
            array(2) {
              ["SELFCODE"]=>
              string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
              ["Aight"]=>
              string(?) "I Have a Dream"
            }
            1. echo $begrüßung;

              Wobei ich jetzt meine zweifel habe, ob das „设“ in „广告表,存放广告设置信息“ tatsächlich richtig ist.

              Naja, der ganze Text scheint mir nur ein Fragment zu sein. Aber das soll nicht mein Problem sein. Chinaboard.de übersetzt jedenfalls das 设 zusammen mit 置 als ein Wort, wenn man den Text als Ganzes da abkippt.

              echo "$verabschiedung $name";

  3. @@conym18:

    wie kann ich es erreichen, dass die schrift nun auch auf meinem server in chinesisch dargestellt wird?

    FAQ: Zeichencodierung für Anfänger
    FAQ: Änderung der Zeichencodierung einer (X)HTML-Seite auf UTF-8
    FAQ: Einstellung der Zeichencodierungsangabe ('charset') in .htaccess

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)