iconv_strlenの適当な代替をmb_strlenされます
-
20-09-2019 - |
質問
私はPHP4で完全に何かをコーディングしていた場合、
これは、ありますか?それとも、私はマルチバイト文字列の文字数をカウントする代わりに、カスタム関数やクラス/拡張子を使用する必要がありますか?
私は見つけることができます。唯一の違いは、iconv_strlenはしませんが、悪いシーケンスをストリップを出しmb_stringます。
解決
あなたは、プレーンのstrlenのドロップイン置換をしたい場合、それは常にint型を返すよう、mb_strlen使用。これは、(メガバイトの許容範囲を超えるのiconvの正しさ)しかし非常に議論の余地があるが、実際のmb_strlenの耐障害性に優れた私を務めました。ちょうどあなたがphp.iniのか、アプリケーションの中心的な場所のいずれかで必要なエンコーディングにメガバイトを設定することを確認します。
PHPでのUnicodeのサポートが悪い場所にある、あなたは多くの落とし穴と例外を認識する必要があります。 UTF-8にいくつかの大規模なアプリケーションとそのユーザデータの完全なスイッチをやった、私はあなたに川を叫ぶことができます。
所属していません StackOverflow