3

私は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を完全にサポートするには、他に何をする必要がありますか?

4

1 に答える 1