c--: Zeichencode in Zeichen konvertieren / Sonderzeichen in Form

Beitrag lesen

$main = "
Woher kommt der Backslash?

von einer schlechten Server-Konfiguration, die magic_quotes aktiviert hat.

Danke für den Tipp, auch an Sven Rautenberg!
Habe es mit einem php_flag magic_quotes_gpc Off in der .htaccess (Root-Verzeichnis) deaktiviert.
Ohne meinen Verschlüsselungsumweg (encode2()/decode2()), also vor dem Senden escape() und Empfangen über $_Request[], funktioniert es jetzt einwandfrei. Umlaute sind Umlaute und Anführungszeichen sind Anführungszeichen.
Es interessiert mich aber nach wie vor, meinen (wenn auch überflüssigen) Verschlüsselungsumweg zum Laufen zu bringen.

Offensichtlich funktioniert also die Funktion mb_chr() nicht zuverlässig.

Zuverlässiger als Deine eigenen Codes: Sie spuckt ein UTF-kodiertes Ergebnis aus, während Du offenbar mit ISO arbeitest.

Erst mal danke für das richtige Stichwort.
Wenn ich genau das mache, wovon du mir so dringend abrätst, nämlich im PHP-Script den empfangenen String mit utf8_decode() ins ISO-Format umwandeln, dann bekomme ich alles, wie ich's mir vorstelle (ä ist ä). Dieser String wird dann unter anderem in eine Textdatei gespeichert, welche von einem anderen PHP-Script eingelesen wird und in einer Webseite (UTF-8) ausgegeben wird - erfolgreich.

Verwende *unbedingt* an *ausnahmslos* *jeder* Stelle *ausschließlich* UTF-Kodierung.

Darf ich - nachdem mein Beispiel eben auch nach dem Verwenden von utf8_decode() funktioniert - nach dem Warum fragen?

Du hast ein perfektes UTF-"ä" erhalten.

Das war mir anfangs nicht klar - soweit jetzt kein Problem.

Nutze es weise.

Mein Einsatz von utf8_decode ist ganz offensichtlich alles andere als weise.
Aber darf ich nach dem Grund fragen?