Klaus: Webseite auf Chinesisch

Hallo Forumsbesucher,

ich habe die ehrenvolle Aufgabe eine Webseite von Deutsch in Chinesisch umzuschreiben. Die chinesischen Schriftzeichen wurden mir in einer Word-Datei geliefert. Wenn ich diese nun für die vorhandenen deutschen Buchstaben/Sätze einfüge, kommen nur einige rautenähnliche Symbole aber keine Schriftzeichen.

Unter Spracheinstellungen von Windows habe ich kein Chinesisch finden können.

Hat jemand eine Idee, wie ich die Konvertierung hinbekommen kann?

Herzlichen Dank.

Klaus

  1. Hat jemand eine Idee, wie ich die Konvertierung hinbekommen kann?

    Arbeite entweder mit UTF-8 (das halte ich für die sinnvollere Möglichkeit) oder mit Entities.

    1. Hat jemand eine Idee, wie ich die Konvertierung hinbekommen kann?

      Arbeite entweder mit UTF-8 (das halte ich für die sinnvollere Möglichkeit) oder mit Entities.

      Hi, danke, es funktioniert aber immer noch nicht. Muss ich im Windows irgend etwas auf Chinesisch stellen?

      Gruß, Klaus

      1. Lieber Klaus,

        Hi, danke, es funktioniert aber immer noch nicht. Muss ich im Windows irgend etwas auf Chinesisch stellen?

        Ich kann Dir nicht wirklich helfen, da ich kein chinesisch kann. Aber eines weiß ich: Mein Browser kann mir chinesische Internetseiten anzeigen, obwohl ich ein "deutsches" Windows verwende. Der "Trick" liegt wohl darin begründet, dass das HTML-Dokument eine bestimmte Angabe für den verwendeten Zeichensatz braucht (für europäische Zeichen nimmt man sinnvollerweise "ISO-8859-1"). Diese Angabe sitzt in einem Meta-Tag. Das hat übrigens Anonymus mit seinem "UTF-8" gemeint, denn damit lassen sich alle internationalen (auch chinesischen) Zeichen im Browser darstellen.

        1. Meine Empfehlung: Lies Dir nochmal das Kapitel über Meta-Angaben und "Zeichenkodierungen" in SelfHTML durch.
        2. Wenn Dein Word die Zeichen darstellen kann, dann probiere doch mal aus, was es in den Quelltext der HTML-Datei schreibt, wenn Du Dein Dokument "als Webseite" speicherst! Word kann sowas!
        3. "Programmiertechnik" ist Deine Thread-Kategorie? Welche Programmiersprache meinst Du? Sollte es PHP sein, kannst Du auch in der PHP-Doku über Zeichenkodierungen nachlesen...

        Hoffe, ich konnte Dir neue Ideen für Lösungsansätze geben.

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        1. Felix,

          dass das HTML-Dokument eine bestimmte Angabe für den verwendeten Zeichensatz braucht

          Der verwendete Zeichensatz ist immer UCS.

          „Der ASCII-Zeichensatz reicht für ein globales Informationssystem wie das Web nicht aus, deswegen nutzt HTML das so genannte Universal Character Set (UCS), einen viel umfangreicheren Zeichensatz, definiert in [ISO10646]. Dieser Standard definiert einen Vorrat von Tausenden von den Völkern der ganzen Welt verwendeten Zeichen.
          Der in [ISO10646] definierte Zeichensatz ist Zeichen für Zeichen äquivalent zu Unicode ([UNICODE]).“ [HTML401 §5.1]

          Der Client braucht vom Server die Angabe der verwendeten Zeichencodierung.

          Diese Angabe sitzt in einem Meta-Tag.

          … und wird dummerweise evtl. vom Server überschrieben. Die Angabe im HTTP-Header hat Vorrang.

          (für europäische Zeichen nimmt man sinnvollerweise "ISO-8859-1").

          Warum sollte das sinvoll sein?

          Mit ISO 8859-1 lässt sich kein ą codieren. (Polen liegt in Europa.)
          Mit ISO 8859-1 lässt sich kein α codieren. (Griechenland liegt in Europa.)
          Mit ISO 8859-1 lässt sich kein б codieren. (Russland*, Ukraine, Serbien liegen in Europa.)
          Mit ISO 8859-1 lässt sich kein ğ codieren. (Türkei* liegt in Europa.)
          Last but not least:
          Mit ISO 8859-1 lässt sich kein „ codieren. (Deutschland liegt in Europa.)

          Europa reicht nicht bis zum Eisernen Vorhang, sondern bis zum Ural.

          Gunnar

          * partiell

          --
          “I got my finger on the trigger / But I don’t know who to trust” (Bruce Springsteen, Devils and Dust)
          1. Lieber Gunnar,

            (für europäische Zeichen nimmt man sinnvollerweise "ISO-8859-1").

            Warum sollte das sinvoll sein?

            Mit ISO 8859-1 lässt sich kein ą codieren. (Polen liegt in Europa.)
            Mit ISO 8859-1 lässt sich kein α codieren. (Griechenland liegt in Europa.)
            Mit ISO 8859-1 lässt sich kein б codieren. (Russland*, Ukraine, Serbien liegen in Europa.)
            Mit ISO 8859-1 lässt sich kein ğ codieren. (Türkei* liegt in Europa.)
            Last but not least:
            Mit ISO 8859-1 lässt sich kein „ codieren. (Deutschland liegt in Europa.)

            Da habe ich wohl noch erhebliche Wissenslücken... Bisher dachte ich, wenn ich meine Seiten im ISO-8859-1 ausgebe (per meta-Tag), bin ich auf der sicheren Seite. Aber jetzt wo Du schreibst, dass das vom Server per HTTP überschrieben werden kann, erinnere ich mich an Windoof-Notepad, in welchem man seine Textdateien auch als UTF-8 speichern könnte.
            Frage: Wenn ich eine kleine HTML-Datei mit Windows-Notepad als UTF-8 speichere, wird die dann (trotz <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />) per HTTP zu UTF-8?

            Europa reicht nicht bis zum Eisernen Vorhang, sondern bis zum Ural.

            Hehe. Den eisernen Vorhang hab ich nimmer im Atlas. Und Ural klingt musikalischer als "eiserner Vorhang".

            War meine UTF-8 Empfehlung nicht gut?

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.

            1. erinnere ich mich an Windoof-Notepad, in welchem man seine Textdateien auch als UTF-8 speichern könnte.

              Felix,
              Erinnere mich lieber nicht an den. Die neueren UTF-8-fähigen Versionen dieses – ähm – Editors(?) schmieren automatisch ein BOM mit ins Dokument. Am Anfang eines HTML-Dokuments gibt das beim Validieren lediglich eine Warnung; wenn man jedoch ein solches UTF-8-codiertes Dokument per SSI einfügt, steht das BOM mittendrin, was natürlich nicht sein darf.

              Ich war schon einmal kurz davor, hier nachzufragen, was an einem HTML-Dokument nicht valide sein soll; aber die Überlegung der guten Formulierung einer Frage führt einen manchmal schon zur Antwort.

              Wenn ich eine kleine HTML-Datei mit Windows-Notepad als UTF-8 speichere, wird die dann (trotz <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />) per HTTP zu UTF-8?

              In der http-equiv-Angabe sollte die verwendete Codierung stehen; wenn du mit UTF-8 (bzw. ISO 8859-1) abspeicherst, dann eben UTF-8 (bzw. ISO-8859-1). Und der Server sollte im HTTP-Header nichts anderes angeben als eben UTF-8 (bzw. ISO-8859-1).

              War meine UTF-8 Empfehlung nicht gut?

              Doch.
              Gunnar

              --
              “I got my finger on the trigger / But I don’t know who to trust” (Bruce Springsteen, Devils and Dust)
            2. Frage: Wenn ich eine kleine HTML-Datei mit Windows-Notepad als UTF-8 speichere, wird die dann (trotz <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />) per HTTP zu UTF-8?

              Die meisten Server machen keine Charset-Erkennung. Ginge auch gar nicht. Wie soll erfahren werden, welche Kodierung genutzt wird? Nein, es muss konfiguriert werden und der Server schickt dann den charset-Header, der eingestellt wurde. Beim Apachen nutzt man dazu die AddCharset-Direktive. Man könnte z. B. in einer .htaccess-Datei folgendes definieren: AddCharset UTF-8 .utf8. Damit würden alle Dateien, die die Datei-Endung .utf8 enthalten, mit charset=UTF-8 ausgeliefert. Wenn man generell alle HTML-Dateien als UTF-8 ausliefern will, kann man natürlich auch AddCharset UTF-8 .html .htm nutzen.