Stephan: Japanisch mit numerischen Entities / ISO-8859-1

Beitrag lesen

Das trifft so auch vollständig auf die Kodierung als Zeichenreferenzen zu da dort ein einzelnes Zeichen ja ebenfalls nicht immer gleich viele Bytes belegt. Im Prinzip gehen also sowohl UTF-8 als auch ASCII+Zeichenreferenzen gleich schlecht mit der alten Datenbank. (Nicht ganz: Zeichenreferenzen bereiten dir Probleme beim Suchen von Substrings.)

Bezüglich der Byte-Thematik muss ich mich erst entsprechend einlesen, da weiss ich nicht genau, was du meinst. Unter http://dev.mysql.com/doc/mysql/en/Charset-Unicode.html steht jedenfalls, dass UTF-8 zum Speichern von Daten erst seit Version 4.1 funktioniert.

Ich habe es mit einer alten MySQL-Datenbank probiert und UTF-8 funktionierte nicht (also wenn ich über ein Formular mit charset=utf-8 Text an die Datenbank geschickt habe), ASCII + Zeichenreferenzen (wenn ich über ein Formular mit charset=ISO-8859-1 Text an die Datenbank geschickt habe) funktionierte hingegen schon...

Aber: Unicode kann man ja zum Beispiel auch als UTF-32 bzw. UCS-4 speichern. Dann haben alle Zeichen die gleiche Länge (4 Bytes) und du kannst die Zeichenfunktionen wieder - mit der Ausnahme dass alle Zahlen mal vier gerechnet werden müssen - voll nutzen.

Hast Du da einen Link, wo ich das genau nachlesen kann?

Thanxs, Stephan