jquery ajax コードの文字化けの解決策は、ファイルのヘッダーにエンコード記述「header("Content-type:text/html;charset:gbk");」を追加することです。
おすすめ: 「jquery ビデオ チュートリアル 」
このチュートリアルの動作環境: Windows7 システム、jquery3.5&&ajax2 .0 バージョンでは、この方法はすべてのブランドのコンピューターに適用できます。
jQuery AJAX 中国語文字化け処理
最近仕事で文字化けしたコードを返すのにjQuery ajaxを使っています メモ帳エディタを使っています JS部分が中国語を送信する場合、別のページで受信してしまうと文字化けが発生してしまいます ネット上で色々な方法を見つけましたが、基本的に良い解決策はありません。
ページは GB2312 でエンコードされ、JS 部分は中国語の文字を取得します: var playerName=$('#playerName').val(); これは次のように処理できます:
In ajax コード部分:
$.ajax({ url: 'getName.php', type: 'GET', cache: false, data:{ 'playerName': encodeURIComponent(playerName)//解决问题的关键点 }, success:function(response){ …… } });
ここで注意すべき点は、jQuery の ajax は中国語を UTF-8 形式で処理することです。これは別のページで次のように処理できます: add
header("Content -type:text/ html;charset:gbk");ここでの gbk は、名前を受け取るときに従来型と簡略型を処理できます (作業が必要です^_^)。
$playerName=urldecode($_GET['playerName']); $playerName=iconv('utf-8','gbk',$playerName);
もちろん、私のエディタのデフォルトのエンコーディングです。 NotePad は ANSI 形式なので、あまり影響はありません~~。
前の週、私は開発のためにメモ帳をやめて Zend に切り替えるつもりでした。一週間使った後、メモ帳の方がまだ優れていることに気づきました。なぜ私は少し「自分の最初の妻の方が良いです...」 悪^^.
ちなみに、上記の jquery の ajax イネーブラーは、cache:false を設定しています。これは、IE 用に追加する必要があります。そうしないと、ajax が使用されている場合、データがは以前と同じで、変更されていません。IE キャッシュは邪悪すぎます。Firefox 様、このような状況は起こりません^^.
もう一度言いますが、jquery は単純に強力すぎます。
以上がjquery ajaxの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。