PHPでstr_replaceが動かない


スポンサーリンク

PHPを書いていると頻繁にstr_replaceを使用します。ただ、全角文字などが混ざっていると、うまく動いてくれないことがあります。そのようなときは、まず最初に「文字コード」について疑いましょう。

PHPはUTF-8で動いていたりしますが、str_replaceの引数にSJISとUTF-8を混ぜてしまうと、動かなくなる場合があります。具体的にどうすればよいかというと、


$after = mb_convert_encoding($before,"UTF-8","SJIS"); //SJIS(ANSI)からUTF-8
$after = mb_convert_encoding($before,"SJIS","UTF-8"); //UTF-8からSJIS(ANSI)

を駆使して、文字コードに整合性を持たせた状態で置換します。
かなりハマりやすいポイントだと思うので、備忘録に書きました。

それでは、ご覧いただきありがとうございました。

この記事への感想を教えてください
  • 内容が十分
  • 内容が足りなかったが役立った
  • 内容が足りず役立たなかった
  • 求めている記事ではなかった
last

フォローする