phpのstr_replace文字化けについて

  • LINEで送る

phpの関数「str_replace」
検索文字列に一致したすべての文字列を置換する関数です。

str_replaceマニュアル

スペースを置換しようと思ってstr_replaceを使って置換してたのですが、なんと文字化けするパターンがありました。
「ァ」などの全角小文字があると置換した際に文字化けしてしまいます。
原因と対処法をメモ。

原因

str_replaceはマルチバイト対応していない模様
「ァ」があるとコードにした際に、途中で違う文字と判定されるため

対処法

str_replaceではなく、mb_ereg_replaceを使用する
mb_ereg_replaceはマルチバイト対応関数

mb_ereg_replaceマニュアル

日本語が含まれる文字列を変換する際は、気をつけましょう!

SNSでもご購読できます。

コメントを残す

*

CAPTCHA