dポイントプレゼントキャンペーン実施中!

Ajax・jQueryで日本語をGETするとき、IEで文字化けします。
(Firefox,chromeでは文字化けは起こりません。IE6/7/8で確認すると文字化けします)
どのようにしたら文字化けが起こらなくなるか教えていただければと思います。



環境
PHP:5.1.6
サーバー・HTMLの文字コードはUTF-8


下記のようなリンクを作り、「jquery.url.js」でパラメータを取得しています。
<a href="./test.php?keyword=テスト&cate=1">
(実際には下記のソースに示しますが、テストの文字はurlencordしています。)




【javascript部分】
<script type="text/javascript" src="jquery.url.js"></script>
<script type="text/javascript">
$().ready ( function() {
$('#sample-get').find('a').click ( function() {
var url = $.url ( $(this).attr('href') );
$.ajax ({
type: 'GET',
url: 'send.php',
cache: false,
data: url.attr ( 'query' ),
success: function ( data, dataType ) {
$('#test').html ( data );
},
error: function ( XMLHttpRequest, textStatus, errorThrown ) {
this;
alert('Error : ' + errorThrown);
}
});
return false;
});




【HTML(PHP)部分】

$keyword='テスト';
$keyword=urlencord($keyword);//urlエンコード


echo<<<EOF
<div id="sample-get">
<a href="./test.php?keyword=$keyword&cate=1"><img src="images/sample1.png" alt="sample1" height="200" width="200"></a>
</div>
EOF;



【PHP部分(send.php)】
<?php
echo $_GET['keyword'];
echo urldecord($_GET['keyword']);
echo $_GET['cate'];
?>

A 回答 (1件)

2つのファイルにある


urlencord
部分を
urlencode
に修正してみてはいかがでしょうか。

IE以外はエンコードに失敗して日本語のままでも、
文字化けせず表示できていただけかもしれません。
    • good
    • 0
この回答へのお礼

kuzumiHKさん

ご回答ありがとうございます。
ご指摘の通りurlencodeのスペルミスでした。
修正したところIEで文字化けが解消されました。

お礼日時:2012/05/06 08:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!