カタカナ小文字「ァ」の、検索時の文字化けで困っています。
はじめまして。
現在、検索結果が表示されるページを制作しているのですが、その際、
カタカナ小文字の「ァ」が入っているキーワードで検索したときに、
検索キーワードの表示のところで、下記のように文字化けが起こってしまって、困っています。
(「ヴァージニティ」→「ヴ 璽献縫謄 」)
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));
}
のように記述しています。
ちなみに、「ッ」のような他のカタカナ小文字が入っているキーワードでは、正常に検索結果が表示されます。
どうぞよろしくお願いいたします。
お礼
たびたびの回答ありがとうございます 内部文字エンコーディングのデフォルト値を入れるというのはどうすれば良いのでしょうか? 何度も申し訳ありません 初心者なものでしてご迷惑をおかけいたしますが よろしくお願いします