PHP mbstring.func_overload vs mit mbstring Funktionen [Duplikat]
Frage
Diese Frage bereits eine Antwort hier:
Ich möchte meine Website Zeichenfolge entsprechen Umgang mit anderen Sprachen pro UTF-8 zu unterstützen. Es scheint, dass der beste Weg, dies zu tun, ist es, alle Standard-String-Funktionen zu verlassen.
Also habe ich zwei Möglichkeiten habe, kann ich die mbstring.func_overload
Option in der php.ini gesetzt oder kann ich über meinen Code zurückgehen und nur alle Funktionen mit mb_*
ersetzen. Ich würde davon ausgehen, dass die zweite Option leichter auf den Menschen sein wird, meinen Code verwenden, da sie nicht ihre Sever Config ändern. (Wenn sie überhaupt möglich!)
Was ist, wenn PHP 6 herauskommt? Sollte das auf meiner Wahl jede Entblößung hat, da es die richtige multibyte Verarbeitung unterstützen.
Lösung
ich glaube, das Argument gegen mbstring.func_overload
ist, dass, wenn Sie einen 3rd-Party-Bibliotheken / Code auch immer verwenden, kann dieser Code auf der „normale“ Funktionalität der betreffenden Funktionen angewiesen sein - zum Beispiel kann es substr () zu rufen gestutzt einen String Binärdaten an einer exakten Byte-Grenze enthält, oder unter Verwendung von strlen () Länge in Bytes zu erhalten, anstatt Länge in UTF-8-Zeichen.
Siehe auch: Soll ich Multi-Byte-Überlastung (mbstring verwenden. func_overload)?