特定の文字が正しく処理されず、文字列中に「\」が入ってしまう場合があります。
例えば、「ソムリエ」→「ソ\ムリエ」が、これにあたります。
今回は、この文字化けを回避する方法をご紹介します。
magic_quotes_gpc を設定する
回避方法は簡単です。
PHP設定(PHP.ini)で、magic_quotes_gpc を off にするだけです。
.htaccessでも設定可能です。
php_flag magic_quotes_gpc off
magic_quotes_gpcは、文字列中に「'(シングル・クォテーション)」や「"(ダブル・クォテーション)」、「\」を自動でエスケープする機能です。
「ソムリエ」→「ソ\ムリエ」となってしまうのは、「ソ」の2バイト目の文字コードが「\」と一緒なため、magic_quotes_gpcでエスケープされていました。
「ソ」以外にも、「表」「予」「能」「申」などで同様の現象が発生します。