カタカナ小文字「ァ」の、検索時の文字化けで困っています。
はじめまして。
現在、検索結果が表示されるページを制作しているのですが、その際、
カタカナ小文字の「ァ」が入っているキーワードで検索したときに、
検索キーワードの表示のところで、下記のように文字化けが起こってしまって、困っています。
(「ヴァージニティ」→「ヴ 璽献縫謄 」)
Google検索しても、解決法を見つけることができませんでした。
magic_quotes_gpcの設定は、開発環境ではOff、本番環境ではOn(レンタルサーバのデフォルトの設定)にしているのですが、
if (isset($_GET['keyword'])) {
$keyword = (get_magic_quotes_gpc()) ? $_GET['keyword'] : mysql_escape_string($_GET['keyword']);
$keyword = mb_convert_kana($keyword, "aKV");
}
のように、magic_quotes_gpcの設定が「ON」であるときと「OFF」であるときの両方の設定を記述しています。
PHP、データベース共に文字コードはEUCで統一しています。
レンタルサーバなので.htaccessを使用して、下記のように設定しています。
php_flag output_buffering off
php_value default_charset EUC-JP
php_value mbstring.language Japanes
php_flag mbstring.encoding_translation on
php_value mbstring.http_input EUC-JP
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none
php_value mbstring.detect_order EUC-JP,SJIS,JIS,UTF-8,ASCII
文字化けが生じる、表示部分のphpの記述ですが、
if($keyword != ""){
$keyword = mb_convert_encoding($keyword, "EUC-JP");
echo htmlspecialchars(stripslashes($keyword));
}
のように記述しています。
ちなみに、「ッ」のような他のカタカナ小文字が入っているキーワードでは、正常に検索結果が表示されます。
どうぞよろしくお願いいたします。
補足
プログラムはもうできています。データベースに挿入したり、アップデートしたりするところがとても多いので、一箇所ずつpg_escape_string ()することは大変な作業になります。 それで、php.iniを通して解決したいと思っていますが…