suit: Umstellung auf UTF-8

Beitrag lesen

Hello,

Selbst die Suche, bei der u.U. Sonderzeichen als GET übergeben, dann mit regulären Ausdrücken bearbeitet werden und schlussendlich als SQL-Statement
verwendet werden konnte ich so reparieren.

Das ist Unfug.

Ich will gerne glauben, dass die Umstellung nicht ohne Weiteres möglich ist, aber das Problem wird mir (leider) nicht offensichtlich.

Wie ich schon sagte: wenn es nur um GET geht und man sauber arbeitet, muss man nichts beachten, da PHP (in beide Richtungen) sämtliche Kontextwechsel-Spezifischen Dinge bereits übernimmt (die richtigen Funktionen müssen natürlich genutzt werden).

Da wird, zumindest bis PHP-5.x, überhaupt nix automatisch beachtet.

$_GET  beinhaltet einen 1:1 nutzbaren Wert - wenn dieser weiterverwendet wird, z.B. in einer SQL-Abfrage, muss natürlich wieder entsprechend eine Kontextgerechte Behandlung stattfinden.

Wie gesagt, ich beziehe mich rein auf die Geschichte: PHP erzeugt URL mit Querystring ("GET") oder PHP nimmt eine GET-Anfrage entgegen.

Und die PHP-Scritpe muss m,an trotzdem allle kontrollieren. "Die passende Funktion" heißt auch, dass man die passende Logik programmieren muss, denn anstelle der Funktionen für Single-Byte-Codierungen nur diejenigen für Multi-Byte-Codierugnen einzusetzen, ist keinesfalls ausreichend!

In diesem Kontext interessiert dich das nicht.

Wenn in $_GET['foo'] "Schöne neue Welt" hat das nicht die Bohne mit mb_-Funktionen zu tun, das ist eine Sache des Webservers, des CGI und der "unteren Ebenen" des PHP-Interpreters.

Erst wenn du danach mit diesem String hantierst, kommen ggf. mb_-Funktionen zum Tragen.

Genauso umgekehrt: http_build_query(array('foo' => 'Schöne neue Welt')); Was auch immer du da mit mb_-Funktionen willst, verstehe ich nicht.