Jetzt stelle ich aber fest, dass diverse string-Funktionen ander reagieren.
im folgenden Beispielt wird z.B. ö4 ausgegeben.
$x = "öä";
echo (substr($x,0,2));
echo strlen($x);
>
Die meisten Stringfunktionen sind nicht für Multibyte-Codierungen geeignet - sie zählen Bytes - keine Zeichen.
Österreich hat 10 Zeichen
In UTF-8 sind es 10 Zeichen aber 11 Bytes
In Latin-1 sind es 10 Zeichen und 10 Bytes
> Habe ich irgendwas vergessen umzustellen oder kann man das anders lösen?
Die meisten funktionen haben auch eine mb\_-Funktion (Multibyte) - also z.B. mb\_substr() - die Zählen dann richtig.