Update auf Version 4.x - Probleme Umlaute

Endlich habe ich den Umstieg auf Version 4.x gewagt und muss feststellen, dass die Umlaute immer noch massiv Probleme machen (oder ich etwas falsch).

Kann es sein, dass das Resultat von

echo substr("Müde", 0, 4);

tatsächlich „Müd“ ist? Muss ich wissen, dass im Hintergrund Umlaute mit 2 Byte dargestellt werden und mich selbst darum kümmern? Ernsthaft?

Ebenso muss ich jetzt bei jedem File, den ich unter Windows erzeuge ein utf8_decode voranstellen und ebenso vor jeden Text, welchen ich darin speichern will? Warum macht das nicht IPS selbst? Ist doch nicht schwierig herauszufinden, dass es auf einem Betriebssystem läuft, welches Textfiles ANSI codiert?

Bin gelinde gesagt etwas erstaunt, dass das immer noch nicht besser läuft…

Oder eben, ich mache noch was falsch. Inputs herzlich willkommen.

Etwas frustrierte Grüsse, kjb

Hast du unter Kern Instanzen -> Utils Control das Automatische Umlaute korrigieren laufen lassen?

Danach ist alles UTF-8 kompatibel und du solltest in keinem deiner Skripte mehr ein utf8_* nutzen müssen. (Es sei denn dein Gerät erwartet simples ANSI)

EDIT: Zu deiner Frage: Ja, das musst du wissen. PHP kümmert sich da nicht drum. Wenn du dich nicht darum kümmern willst, musst die MultiByte Extension nutzen: http://php.net/manual/de/function.mb-substr.php

paresy

Ja, habe ich laufen lassen, obwohl ich es unschön finde einen Knopf zu drücken, von dem ich keine Ahnung habe, was er macht.

Dennoch muss ich aber für die Windows-Logfiles ein utf8-decode verwenden, wenn ich Umlaute verwende oder verstehe ich Dich falsch?

mb_substr war mir bisher nicht bekannt, danke für den Tip.

kjb

Auch kommt die IPSLibrary trotzdem nicht mit Umlauten in den Pfaden klar. Ich hab mich inzwischen damit abgefunden aber schön ist anders.