PHP : 特定の文字の文字化けを回避する
特定の文字が正しく処理されず、文字列中に「\」が入ってしまう場合があります。
例えば、「ソムリエ」→「ソ\ムリエ」が、これにあたります。
今回は、この文字化けを回避する方法をご紹介します。
例えば、「ソムリエ」→「ソ\ムリエ」が、これにあたります。
今回は、この文字化けを回避する方法をご紹介します。
magic_quotes_gpc を設定する
回避方法は簡単です。
PHP設定(PHP.ini)で、magic_quotes_gpc を off にするだけです。
-
magic_quotes_gpc = off
.htaccessでも設定可能です。
-
php_flag magic_quotes_gpc off
magic_quotes_gpcは、文字列中に「'(シングル・クォテーション)」や「"(ダブル・クォテーション)」、「\」を自動でエスケープする機能です。
「ソムリエ」→「ソ\ムリエ」となってしまうのは、「ソ」の2バイト目の文字コードが「\」と一緒なため、magic_quotes_gpcでエスケープされていました。
「ソ」以外にも、「表」「予」「能」「申」などで同様の現象が発生します。
- 特定の文字の文字化けを回避する (2010/01/19)
- 受信メールの添付ファイルを保存する (2010/01/11)
- さくらインターネットで、メール自動返信をする (2010/01/11)
- DoCoMo端末の場合、URLにguid=ONを自動付与する (2010/01/09)