私はphpで多言語アプリに取り組んでいます。
最近、漢字のサポートを依頼されるまで、すべて問題ありませんでした。UTF-8 文字をサポートするために私が取ったアクションは次のとおりです。
すべての DB テーブルが UTF-8 になりました
HTML テンプレートには タグが含まれています
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
コントローラーは、http 応答に使用するエンコード (utf-8) を指定するヘッダーを送信します。
いくつかの文字列操作 (substr など) を作成し始めるまでは、すべて問題ありませんでした。
中国語はマルチバイトとして表されるため、中国語では機能しません。したがって、通常の部分文字列 (substr) を実行すると、割り当てられたバイトの 1 つの途中で「文字」が切り取られ、結果が f*ck されます。画面。
これをブートストラップに追加することで、すべての問題を修正しました
mb_internal_encoding("UTF-8");
strlen
すべての, substr
,strstr
を対応するものに置き換えますmb_
。
PHPでUTF-8を完全にサポートするには、他に何をする必要がありますか?