|
Einige Software-Hersteller haben firmen-eigene Zeichensätze entwickelt.
Das ergibt natürlich auch firmen-eigene Dokumente, die mit anderer Software
evtl. fehlerhaft angezeigt wird. Diese extrem KundInnen-feindliche Einstellung hat
dazu geführt, dass viel Zeit, Geld und Mühe in die Übersetzung von
Dokumenten investiert wurde. Alle Hersteller bieten mittlerweile die Verwendung internationaler Standards. M$ zeichnet sich dadurch aus, dass die meisten Standards zwar verfügbar sind, oft jedoch gut versteckt und mit eigenartigen Namen getarnt. |
Sie sollten für alle Dokumente ausschließlich internationale Standards
verwenden. Nur damit haben sie die Gewähr, dass ihre Dokumente weltweit auf
jedem System und mit jeder Software richtig angezeigt werden. In jedem anderen Fall müssen sie auf die Fähigkeiten anderer PC und deren Software vertrauen, ihre Dokumente korrekt zu übersetzen. |
Zeichencodes
|
PC-Codes für Buchstaben, Ziffern und Sonderzeichen |
| EBCDIC | Zahlreiche Hersteller-spezifische Varianten |
| LICS | Lotus International Character Set |
| MacRoman | Eine der Apple-Varianten für nationale Sonderzeichen |
| Windows-1250 | Die M$-Variante ('ANSI') ähnlich ISO-8859-1 (Latin-1) |
LICS - Lotus International Character Set |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Von Lotus verwendet, nach Aufkauf des Unternehmens auch durch einige Programme von
IBM und HP. Leider konnten dazu noch keine brauchbaren Angaben gefunden werden - Die hier gezeigten Daten wurden rein experimentell (!) gewonnen und sind mit besonderer Vorsicht zu betrachten (natürlich ohne Gewähr !). Unbekannte Positionen in der Code-Tabelle sind leer gelassen. Der Bereich 0..127 (#00..#7F) ist in LICS ebenso wie in den meisten anderen Codes identisch mit dem → ASCII-Code. |
Die deutschen Umlaute und das scharfe ß werden in LICS genauso codiert wie in → ISO-8859-1 und → Unicode (durch mehrere Hinweise bestätigt). LICS-Daten deutscher Texte kann man daher notfalls mit dem ISO-Filter importieren und exportieren. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unicode und ISO-8859-1
|
LICS (ohne Gewähr !)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Batutis - Lotus MultiByte Character Set (LMBCS) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MacRoman |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ältere Apple Macintosh-PC verwenden diesen Code. Er ist im unteren Bereich
(#00..FF, 0. bis 127.) identisch mit dem
→ ASCII-Code.
Rechts ein unverbindlicher Auszug für die Umwandlung der deutschen Sonderzeichen. In den beiden Code-Tabellen (unten) sind die deutschen Sonderzeichen und das €-Zeichen grün markiert. Das Euro-€-Zeichen ist im ISO-8859-1 Zeichensatz nicht enthalten. Verwenden sie dafür am besten das Unicode-Zeichen U+20AC. MacRoman definiert eine Reihe mathematischer Sonderzeichen, die in → ISO-8859 nicht vorkommen, aber im → Unicode natürlich enthalten sind. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unicode und ISO-8859-1
|
MacRoman
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows-1250, 1252 (CP1252, 'ANSI') |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wie in vielen anderen Bereichen torpediert der IT-Marktführer auch bei den Zeichencodes die geltenden internationalen Standards. So wird versucht, die KundInnen zur ausschließlichen Verwendung der Software dieses Herstellers zu nötigen. | Die meisten M$-AnwenderInnen empfinden das mittlerweile als normal. Das freut den Marktführer und kostet die KundInnen eine Menge Geld... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zeichen 127Das Zeichen 127. (#7F, DEL) ist als nicht druckbares Steuerzeichen 'Delete' definiert. |
Bei der Ausgabe wird es auf der → Konsole cmd.exe meist als Unicode-Zeichen 8962. (hex #2302) ⌂ angezeigt. Das fällt jedoch kaum auf, da DEL normalerweise nicht als Zeichen verwendet wird. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bereich 128-159Der Bereich 128. bis 159. (#80..#9F) ist nach Standard → ISO-8859für nicht druckbare Steuerzeichen reserviert. M$ verwendet ihn für einige Zeichen, darunter das häufig benötigte €-Zeichen. |
Diese abweichende Interpretation ist als 'Windows 1250-Familie' bekannt. Niemand braucht so viele Steuerzeichen, daher wäre es durchaus sinnvoll, diese 32 Zeichen auch zu verwenden. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Heute zeigen fast alle PC (teilweise auch Linux) die Zeichen 128. bis 159. nach Windows-1252 an und nicht (wie meist geglaubt wird) nach ISO-8859-1. | Ein besonderer Nachteil der → ISO-8859-Standards ist die Einschränkung auf nur 96 eigene Zeichen pro Zeichensatz. Bei zusätzlicher Verwendung dieser 32 Zeichen hätte man in jedem ISO-Zeichensatz 128 Zeichen (+ 33%) mehr eigene Zeichen untergebracht. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Wenn sie selbst entwickeln, dann sollten keinesfalls Windows-1252 verwenden (veraltet ebenso
rasch wie → ISO-8859),
sondern → Unicode Unicode-Zeichen werden von allen neueren Programmen unterstützt - auch von M$-Programmen ! Rechts eine unverbindliche Ersatz-Liste: Zu jedem Zeichen dieses Bereichs links der Win-1252 Code, rechts der Unicode - und zwar von ihrem Browser interpretiert. Das Euro-Zeichen in der ersten Zeile wird hier z.B. mit → HTML-Code € erzeugt. Für alle Win-1252-Codes gibt es einen passenden Unicode-Ersatz, der übrigens auch in M$-Programmen richtig angezeigt wird. In den meisten praktischen Fällen ist ohnehin nur das Euro-Zeichen betroffen - Für Webseiten halten sie sich aus dem Code-Konflikt heraus, indem sie nur € für € verwenden. Einige Zeichen dieses Bereichs wurden von M$ (noch) nicht verwendet und werden hier leer angezeigt: #81, #8D, #8F, #90, #9D |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Unicode und ISO-8859-1
|
Windows-1252
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
M$ Office Import:
Es ist nach bisherigen Erfahrungen kaum möglich, Text-Daten ohne Änderung in
M$-Office Programme zu importieren, außer mit einem eigens dazu hergestellten
VBA-Programm.Jede (!) der zahlreichen Zeichensatz-Optionen ändert den Code zumindest einiger importierter Zeichen, darüber hinaus können Zeichen (z.B. Tab, Leerzeichen, Strichpunkt, ..) unterdrückt werden. Wenn Import-Daten irrtümlich als Datum und / oder Zeit interpretiert werden, dann werden sie in eine Zahl (→ internes Format Y1900) umgewandelt. Leider fehlen offenbar die wichtigen Optionen zum Import von Unicode- oder UTF-8 Dateien ebenso wie die weniger wichtigen für EBCDIC oder LICS. |
Open Office Import:
Beim Versuch, eine Text-Datei zu öffnen, wird diese ungefragt in einem Text-Dokument
geöffnet und (vermutlich je nach Betriebssystem) ungefragt (!) gefiltert (Win-1252) -
höchst unbefriedigend.Nur wenn man beim Öffnen die Option 'Dateityp' verwendet, dann wird der entsprechende Filter angewendet, allerdings werden dann nur ganz bestimmte Dateinamen angezeigt. Optionen für Unicode oder UTF-8 fehlen, und Dateien wie z.B. 'test.dat' können nur dann mit einem bestimmten Filter geöffnet werden, wenn man sie entsprechend umbenennt (z.B. 'test.txt'). Nur beim Versuch, Binärdateien zu öffnen, werden auch die Filter Unicode, UTF-7 und UTF-8 angeboten, dazu noch die Option 'Sprache' (?), die man allerdings auf 'Keine' setzen kann. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Firmen-Chauvinismus bei M$ Frontpage:Webseiten werden von diesem Programm prinzipiell mit dem Zeichensatz Windows-125* erstellt. Man kann die Einstellung zwar ändern (), das wagen jedoch nur wenige erfahrene AnwenderInnen. Die Verwendung eines firmen-eigenen Zeichensatzes für ein globales Medium ist geradezu grotesk arrogant und natürlich ein schwerer Fehler.So sieht es im <head> von Frontpage-Webseiten aus, wenn sie die Standard-Einstellungen verwenden:
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
▲
Verwenden sie unbedingt einen Standard Zeichensatz, noch besser einen wirklich brauchbaren
HTML Editor.
|
Die Einstellung CP-1252 wird auch im Text beibehalten: Umlaute werden leider nicht HTML-codiert sondern nach Firmen-Vorgabe. Beispiel:
▲ Verwenden sie unbedingt Standard HTML Codierung für ihre Webseiten - Das funktioniert weltweit auf allen Systemen, mit allen Browsern, natürlich auch mit M$IE. ♦ Details zu HTML-Zeichencodes |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hinweise für EntwicklerInnen |
|
| Die verfügbare Dokumentation über die hier vorgestellten und andere Hersteller-spezifische Zeichensätze ist leider oft spärlich, lückenhaft und sogar widersprüchlich. Ein Grund mehr, sich lieber an den Unicode-Standard zu halten. | Deshalb wurde in diesem Web versucht, die verfügbaren Angaben durch experimentelle Daten zu ergänzen und zu testen. |
|
Experimente mit Zeichensätzen können sie selbst ausführen: Erzeugen sie Test-Strings, z.B. alle Zeichen 32-126 (ASCII-Bereich ohne Steuerzeichen), 32-255 oder 0-255. Dazu eignet sich jede Programmiersprache, besonders gut natürlich → Perl. Versuchen sie, diese Strings in verschiedene Programme zu importieren, danach zu exportieren. Der Import kann durch Lesen der Dateien erfolgen (dabei können sie die verschiedenen Import-Optionen testen), aber auch durch Kopieren und Einsetzen. Beachten sie, dass die Daten durch jeden einzelnen Vorgang verändert werden können, auch dann, wenn das vom betreffenden Programm nicht angezeigt oder erwartet wird. |
Die Ergebnisse lassen sich mit verschiedenen Mitteln analysieren, am besten mit einem Hex-Editor Programm - solche Programme sind als einzige vertrauenswürdig, da sie nur die Zahlenwerte der einzelnen Bytes anzeigen und keine Interpretation versuchen (mit Ausnahme von Byte-Werten 32..127, die oft zusätzlich im ASCII-Code angezeigt werden). |
|
Besondere Vorsicht ist wie immer bei M$ angebracht: ● Die Excel-Funktionen Zeichen und Code ebenso wie die VBA-Funktionen Asc und Chr arbeiten nicht mit dem Standard sondern mit → Win-1252, darüber hinaus nur bis Code=255. So liefert z.B. Code ebenso wie Asc für das €-Zeichen den Wert 128 an Stelle des Standard Unicode-Werts von 8364. ● Die VBA-Funktionen AscW und ChrW arbeiten korrekt mit Standard Unicode U+0000 bis U+FFFF, allerdings muss man bei AscW einen Fehler abfangen, damit keine negativen Unicode-Werte geliefert werden. Die VBA-Funktion StrConv sollte zwar u.a. Unicode-Umwandlungen durchführen. Sie hält jedoch nicht, was sie verspricht. ♦ Details dazu auf der Unicode-Seite. |
Allerdings wird (bisher) keine Import-Option 'ohne Filter' angeboten, d.h. einige Zeichencodes werden immer verändert ! Außerdem gibt es derzeit noch keine Import-Optionen für die wichtigen Standards Unicode und UTF sowie (weniger wichtig) für EBCDIC oder LICS. |