特定の文字の文字化けを回避する

投稿日時 2010/01/19 | カテゴリ: 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でエスケープされていました。
「ソ」以外にも、「表」「予」「能」「申」などで同様の現象が発生します。






アイウェイク aiWake Inc.にて更に多くのニュース記事をよむことができます
http://www.aiwake.co.jp

このニュース記事が掲載されているURL:
http://www.aiwake.co.jp/modules/bulletin/index.php?page=article&storyid=6