Hello,
als ich sagte, dass wir mit (der aumstellung auf) UTF-8 noch viel Freude[tm] haben werden, bin ich nur ausgelacht worden.
Eigentlich nicht.
Ist denn inzwischen eine Lösung für den Index-Operator gefunden worden?
Ein Zugriff per
$zeichen = $string[$i];
ist für multibyte-codierte Strings ja irgendwie nicht möglich?
Doch, klar. Das liefert dir das BYTE an Position $i des Strings.
Wenn du ZEICHEN haben willst, nimm mb_substr().
qed!
Keine befriedigende Lösung!
Also müssen diese ganzen Stellen in Scripten bei Umstellung auch umgeschrieben werden!
Sattdessen könnten die PHPler das Verhalten der (emulierten) Überladungen der Operatoren auch abhängig machen von einem generellen Schalter, der angibt, ob die folgende Funktion nun singlebyte oder multibyte agieren soll.
Das hätte vermutlich auch das Umschreiben vieler vieler Scripte erspart.
Aber es hätte den PHP-Entwicklern etwas mehr Arbeit abverlangt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg