2018年3月22日木曜日

mb_strlen 1文字3バイトになる・他

PHPの mb_strlen関数で、 1文字3バイトになる


(参考)
http://hamamuratakuo.blog61.fc2.com/blog-entry-421.html

● 文字のバイト数は、文字コードごとに異なる

 Shift_JIS : 半角文字・1バイト、全角文字・2バイト
 UTF-8 : 半角文字・1バイト、全角文字・ 2-6バイト


● 解決策 : UTF-8をSJISに変換して、文字数をカウントする

 strlen(mb_convert_encoding($str, 'sjs', 'utf-8'))



● mb_strlen を正確に動かすには

 php.iniで内部エンコードを正しく設定するか、mb_stringで文字コードを指定する。

 ・ php.iniで文字コード指定
  ;mbstring.internal_encoding = EUC-JP


 ・ mb_string の第2パラメータでエンコーディングが指定できる。
  (省略した場合、内部エンコーディングを使用)
  mb_strlen($str,'utf-8')

0 件のコメント:

コメントを投稿

gmailの 赤い文字の「提案」を消す

【問題】 gmail。要件はとっくに片付いているのに、いつまでも提案がでる。こんな提案は全く不要。 【消す方法】 1)[設定]の[全般]で、「アクションの提案」を探す。 2)その「返信するメールを提案」のチェックをはずす。 ついでに「フォローアップするメー...