Migrieren einer PHP-Anwendung für UTF-8

Ich arbeite an einer mehrsprachigen App in PHP.

Bis vor kurzem war alles in Ordnung. Ich wurde gebeten, chinesische Schriftzeichen zu unterstützen. Die Aktionen, die ich zur Unterstützung von UTF-8-Zeichen durchgeführt habe, sind die folgenden:

Alle DB-Tabellen sind jetzt UTF-8

HTML-Vorlagen enthalten das Tag<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Die Controller senden einen Header aus, der die Codierung (utf-8) angibt, die für die http-Antwort verwendet werden soll

Alles war gut, bis ich anfing, einige String-Manipulationen vorzunehmen (substr und dergleichen)

Bei Chinesisch funktioniert dies nicht, da Chinesisch als Multibyte dargestellt wird. Wenn Sie also eine normale Teilzeichenfolge (substr) erstellen, wird häufig ein "Buchstabe" in der Mitte eines der zugewiesenen Bytes abgeschnitten und das Ergebnis aufgeschlüsselt Bildschirm.

Ich habe ALLE meine Probleme behoben, indem ich dies in den Bootstrap eingefügt habe

mb_internal_encoding("UTF-8");

und Ersetzen allerstrlen, substr, strstr mit derenmb_ Gegenstücke.

Welche anderen Dinge muss ich tun, um UTF-8 in PHP vollständig zu unterstützen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage