メインメニュー
Valid XHTML 1.0 Transitional Valid CSS!
PHP : 特定の文字の文字化けを回避する
投稿者 : root 投稿日時: 2010/01/19 (7255 ヒット)

特定の文字が正しく処理されず、文字列中に「\」が入ってしまう場合があります。
例えば、「ソムリエ」→「ソ\ムリエ」が、これにあたります。
今回は、この文字化けを回避する方法をご紹介します。

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でエスケープされていました。
「ソ」以外にも、「表」「予」「能」「申」などで同様の現象が発生します。


印刷用ページ