dedlfix: UTF-8 Komplettumstellung Probleme?

Beitrag lesen

echo $begrüßung;

Weil mich dieses Chaos nervt, denke ich jetzt darüber nach alles auf UTF-8 umzustellen, Ausgabeseiten, Mysql.
Aber macht das Sinn? oder kommt dann wieder irgendeine anderere Codierung die dann Hip ist?

Ja, das sehe (nicht nur) ich als sinnvoll an und vermutlich kommt auch langfristig gesehen keine andere Kodierung, weil Unicode so konzipiert ist, dass es im Prinzip unendlich erweiterbar ist. Auch die Transformationsvorschriften UTF-x bieten noch genügend Spielraum. Das UTF-8-Prinzip ist zwar (auf 4 Billionen Zeichen) begrenzt, doch denke ich nicht, dass das auf absehbare Zeit praktische Einschränkungen haben wird.

Muss zugeben, das mich das ganze Thema ein wenig überfordert, das war noch schön als man nicht drüber nachdenken musste und alles machte der Browser alleine.

Das machte er nicht, denn dazu mussten sich andere Leute den Kopf zerbrechen.

Vor allem macht mir ein Gedanke Kopfschmerzen, müssen die Scripte dann auch UTF-8 sein, denn meine liebsten Editoren, wie Weaverslave können das nicht. Und was gibt es noch für Fallstricke bei einer Komplettumstellung?

Das Thema ist nicht neu, das Archiv enthält bereits alle grundsätzlichen Informationen. Die beiden Grundprinzipien sind:

  • Jedes beteiligtes System muss (für sich selbst betrachtet) mit der Kodierung zurecht kommen.
  • An jedem Übergang zwischen zwei Systemen muss Klarheit über die verwendete Kodierung herrschen.

Alles andere sind Detailbetrachtungen. Zu erkennen, wo die Grenzen und Übergänge sind, ist manchmal etwas knifflig. Man benötigt das aber nicht nur wegen der Zeichenkodierungen sondern weil dabei auch immer ein Kontextwechsel stattfindet, der nicht unberücksichtigt bleiben darf. Jeder Kontext bringt ja weitere zu beachtenden Eigenheiten mit.

Wenn ein System nur Durchreicher eines Datenstroms ist, muss es möglicherwiese keine Ahnung von der Kodierung haben. PHP kann derzeit nicht (bzw. nur eingeschränkt) mit Mehrbytekodierungen umgehen. Wenn keine Stringverarbeitung (z.B. Trennen nach x Zeichen) vorgenommen werden soll, ist das nicht weiter tragisch. Vom DBMS abfragen und unbearbeitet an den Browser durchreichen geht problemlos, ebenso der umgekehrte Weg.

Solange keine Zeichen jenseits von ASCII direkt notiert werden müssen, ist auch eine Nicht-UTF-8-Fähigkeit eines Editors kein Hindernis. Ersatzdarstellungen (z.B. in Form von Hexwert-Notierungen) sind möglich aber unschön. Kontextfremde Ersatzdarstellungen sind hingegen zu vermeiden (HTML-Entitys und NCRs, wenn die HTML-Ausgabe noch lange nicht in Sicht ist). Das bringt nur weitere Probleme bei der nachfolgenden Verarbeitung.

Wie die einzelnen Systeme mit Zeichen(kodierungen) umgehen und was beim Übergang zwischen zwei Systemen zu beachten ist, sprengt den Rahmen einer kurzen Einleitung. Im Bedarfsfall bitte selbst recherchieren oder konkret nachfragen.

echo "$verabschiedung $name";