Migracja aplikacji php do obsługi UTF-8

Pracuję nad aplikacją wielojęzyczną w php.

Wszystko było w porządku, aż do niedawna poproszono mnie o wsparcie chińskich znaków. Działania podjęte w celu obsługi znaków UTF-8 są następujące:

Wszystkie tabele DB są teraz UTF-8

Szablony HTML zawierają tag<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Kontrolery wysyłają nagłówek określający kodowanie (utf-8) do wykorzystania w odpowiedzi http

Wszystko było dobrze, dopóki nie zacząłem robić manipulacji na sznurku (substr i lubi)

Z chińskim to nie zadziała, ponieważ chiński jest reprezentowany jako wielobajtowy, a więc jeśli zrobisz normalny podciąg (substr), to znacznie wyciąć „literę” w środku jednego z przydzielonych bajtów i f * ck w górę wynik na ekran.

Naprawiłem WSZYSTKIE moje problemy, dodając to w bootstrapie

mb_internal_encoding("UTF-8");

i zastąpienie wszystkichstrlen, substr, strstr z ichmb_ odpowiedniki.

Co jeszcze muszę zrobić, aby w pełni obsługiwać UTF-8 w php?

questionAnswers(1)

yourAnswerToTheQuestion