ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryの中国語文字化けの対処方法
jquery 中国語の文字化けコードの解決策: 1. プロジェクトのエンコーディングを [UTF-8] に統一し、データ対話中のエンコーディングを [UTF-8] に統一します; 2. プロジェクトのエンコーディングが異なる場合は、一律に GBK または GB2312 に設定すると、ajax 呼び出しを通じて中国語パラメータをサーバーに渡すときに中国語の文字化けが発生しやすくなります。
推奨: 「jquery ビデオ チュートリアル 」
jquery 中国語の文字化けコードの解決策:
方法 1、プロジェクトのエンコードを一律に UTF-8 に設定します。データ対話中のエンコードを「UTF-8」に統一します。
方法 2、プロジェクトのエンコードが異なる場合は、 GBK または GB2312 に設定すると、中国語のパラメーターを ajax 呼び出しでサーバーに渡すときに中国語の文字化けが発生する可能性があります。処理方法は次のとおりです:
バックエンド:
コード例:
/* =============禁止缓存============== */ response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Expires", "0"); /* =============禁止缓存============== */ response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); //request.setCharacterEncoding("UTF-8"); String userName = request.getParameter("userName"); userName=URLDecoder.decode(userName, "UTF-8"); //在springmvc中,如没有通过request,或直接设置jquery的编码设置,则需要如下方式转换。 // mykeyword = new String(keyword.getBytes("iso-8859-1"),"UTF-8"); //但如果是encodeURI()函数转换,则如下就可以。注意,这时参数在 url后面。 userName=URLDecoder.decode(userName, "UTF-8");
フロントデスクは次のようなものです:
コード例:
var myurl="grzx/validateUserNameIsExists.do?userName="+username; myurl=encodeURI(myurl); myurl=encodeURI(myurl); jQuery.ajax({ url:myurl, type:'POST', async:false, data:{}, success:function(data){ var msg=eval('('+data+')'); // var msg=JSON.parse(data); if(!msg.result){ jQuery('#myusername').attr('value',''); alert('用户名已存在!请用新的用户名'); } } });
エンコードを 2 回行います。
フォアグラウンドで渡される「大声で笑う」は、成功した場合でも、バックグラウンドでエンコードされる前は「大声で笑う」になります。
もちろん一度だけエンコードすることも可能で、jqueryのエンコードを「UTF-8」に設定し、;charset='UTF-8'を追加するだけです。
例:
コード サンプル:
contentType : 'application/json;charset=UTF-8',
関連する無料学習の推奨事項: JavaScript (ビデオ)
以上がjqueryの中国語文字化けの対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。