mb_strLen()やmb_convert_case()関数で日本語の文字数を数える場合には、次のいずれかの方法で文字コードを設定する必要あり。日本語はマルチバイトであるため、文字コードを指定しないと変な値となることがある。
①方法その1
mb_strLen(文字列, ‘文字コード’)や、mb_convert_case(文字列,変換モード,’文字コード’)など文字列を扱う関数では、扱う文字列の文字コードを明確に指定する。(例えば:文字列がシフトJISならばSJIS)
指定しないと採用している内部文字エンコーディングが適用される。
②方法その2
次の関数でデフォルトの内部文字エンコーディングで変更する。
mb_internal_encoding(“文字コード”);