Gunther: Character Encoding - UTF-8 - multibyte String-Funktionen

Beitrag lesen

Hallo Selfgemeinde!

Ich habe da wohl (noch) ein gewisses Verständnisproblem und wäre euch sehr dankbar, wenn ihr mir bei diesem auf die Sprünge helfen könntet.

Aktuell arbeite ich u.a. an einem Script, das eingehende Requests analysiert. Dazu verwende ich einige der $_SERVER Variablen und "behandele" diese auch mit diversen String-Funktionen wie bspw. stripos() und strlen(). Ferner kommen auch einige der PCRE-Funktionen zum Einsatz.

Da ich eigentlich gerne generell und durchgehend UTF-8 codiert arbeiten wollte, müsste ich ja (u.a.) bei den String-Funktionen die jeweiligen mb_xxx Funktionen verwenden und anstelle der PCRE-Funktionen die mb_ereg_xxx Funktionen.
Soweit richtig?

Mein erstes Problem besteht jetzt schonmal darin, dass mir nicht klar ist, in welcher Kodierung denn nun bspw. ein Request (URI + Query String) auf dem Server überhaupt ankommt, wovon das abhängig ist und wie ich das feststellen kann?

Ein Aufruf von mb_internal_encoding() gibt mir ISO-8859-1 als interne Kodierung aus.
Diese müsste ich, wenn ich durchgehend mit UTF-8 arbeiten will, dann entsprechend umstellen?

Stellt sich für mich aber gleich die nächste Frage: Lohnt sich der "Aufwand/ Aufstand" (bei PHP < 6), oder wäre es ggf. sinnvoller/ einfacher, vorhandene Strings in UTF-8 in ISO-8859-1 umzukodieren, diese intern dann "normal" zu verarbeiten und vor einer Ausgabe ggf. wieder in UTF-8 zu kodieren?

Wenn ja, wie stelle ich das so an, dass ich keine Datenverluste/ -verfremdungen erleide und worauf muss ich ggf. achten?

Für Auf- & Erklärungen jeglicher Art meinen besten Dank im Voraus.

Gruß Gunther