Zwischen Zeichensätzen konvertieren

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Die ultimative Lösung für das behandelte Zeichensatz-Chaos besteht darin, für all Ihre XML-Dokumente Unicode entweder im UTF-16- oder UTF-8-Format zu benutzen. Eine wachsende Zahl von Werkzeugen unterstützt von vornherein eines dieser beiden Formate; selbst das bescheidene Notepad bietet eine Option, um unter Windows NT 4.0, 2000 und XP Dateien in Unicode zu speichern. Microsoft Word 97 und später speichert die Texte seiner Dokumente in Unicode, obwohl Word-Dateien im Gegensatz zu XML-Dokumenten kaum reinen Text enthalten. Ein Großteil der Binärdaten in einer Word-Datei ist kein Unicode oder eine andere Art von Text. Allerdings kann Word 2000 tatsächlich reine Textdateien in Unicode speichern. Um eine Datei in Word 2000 als reinen Unicode-Text zu speichern, wählen Sie den Eintrag Codierter Text aus dem Format-Auswahlmenü in der Speichern-Dialogbox von Word. Wählen Sie anschließend eines der vier Unicode-Formate aus der sich öffnenden Dialogbox. Wählen Sie in Word 2003 das Nur Text-Format. Wenn Sie speichern, öffnet Word eine Dialogbox, in der Sie nach der Kodierung gefragt werden. Wählen Sie Andere Codierung, und wählen Sie dann in der Liste auf der rechten Seite eines der vier Unicode-Format aus.

Die meisten unserer heutigen Werkzeuge sind immer noch auf hersteller-spezifische Zeichensätze eingestellt, die nur mit wenigen Sprachen gleichzeitig umgehen können. Es ist daher entscheidend, dass Sie lernen, wie Sie Ihre Dokumente aus proprietären in standardisierte Zeichensätze umwandeln.

Einige der besseren XML- und HTML-Editoren erlauben es Ihnen, den Zeichensatz zu wählen, in dem Sie speichern wollen, und führen automatisch eine Umwandlung aus dem Zeichensatz durch, den Sie zum Bearbeiten verwendet haben. Unter Unix ist der native Zeichensatz vermutlich einer der Standard-ISO-Zeichensätze, und Sie können direkt in diesem Format speichern. Auf dem Mac umgehen Sie Probleme, indem Sie bei reinen ASCII-Dokumenten bleiben. Unter Windows können Sie sogar noch ein bisschen weiter gehen und Latin-1 benutzen, falls Sie sich von den zusätzlichen Zeichen fernhalten, die nicht Teil der offiziellen ISO-8859-1-Spezifikation sind. Ansonsten müssen Sie Ihr Dokument aus seiner nativen, plattformabhängigen Kodierung in einen der standardisierten, plattformunabhängigen Zeichensätze umwandeln.

François Pinard hat ein Open Source-Konvertierungswerkzeug für Zeichensätze namens recode geschrieben, das unter Linux und Unix arbeitet. Wojciech Galazka hat recode nach DOS portiert. Sie können auch das Werkzeug native2ascii aus dem Java Development Kit (JDK) benutzen. Konvertieren Sie zuerst die Datei aus ihrer nativen Kodierung in Javas spezielles ASCII-kodiertes Unicode-Format. Benutzen Sie anschließend das gleiche Werkzeug in umgekehrter Richtung, um das Dokument aus dem Java-Format in die Kodierung umzuwandeln, die Sie eigentlich haben wollten. Um beispielsweise die Datei meinedatei.xml aus der Windows Cp1252-Kodierung nach UTF-8 umzuwandeln, führen Sie nacheinander diese beiden Befehle aus:

% native2ascii -encoding Cp1252 meinedatei.xml meinedatei.jtx
% native2ascii -reverse -encoding UTF-8 meinedatei.jtx meinedatei.xml

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de