ホームページ  >  記事  >  ウェブフロントエンド  >  jquery.ajaxで渡すURLに中国語が文字化けして表示される場合の対処方法

jquery.ajaxで渡すURLに中国語が文字化けして表示される場合の対処方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-26 10:51:551389ブラウズ

今回は jquery.ajax で URL を渡す際の中国語文字化けの対処方法を紹介します。ケース、見てみましょう。

JQuery

JQueryのデフォルトのcontentType: application/x-www-form-urlencoded

これが、

文字セット

が指定されていない場合、ISO-8859-1が使用される理由です。 ISO8859-1、通常は Latin-1 と呼ばれます。 Latin-1 には、すべての西ヨーロッパ言語を記述するために不可欠な追加文字が含まれています。

JQueryのAjaxは国際化の問題を全く考慮しておらず、欧文文字セットを使用していたため、中国語を送信する際に文字化けの問題が発生していました。

そして、UTF-8 はこの問題を解決できます。

最終的には、JQuery コードを変更し、contentType が utf-8 文字セットを使用することを明示的に宣言する必要があることを意味します。これにより、GB2312 中国語送信の問題を解決できます。

1. JQuery コードを変更します

この方法では、web.config やページのエンコーディングを変更する必要はありません。 、サーバー側でデコードするために escapc(str) を使用する必要はありません。英語での伝わり方は中国語でも伝わります。

使用する jquery ファイルを変更します: jquery-1.4.4.min.js

ajaxSettings:
{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded
;charset=UTF-8
",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest}

2. Js コード:

function confirmcommit(){
    var wlCompany = $("#wlCompany").val();//这里含有中文
    var wlId = $("#wlId").val();
    var proposer = $("#proposer").val();
    if(confirm("确认要换货吗")){
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath}/returnGoods/confrimExchangeGoods.do',
data:'wlCompany='+wlCompany+'&wlId='+wlId+'&proposer='+proposer, //直接传值
dataType:'text',
error:function(){
    alert("JQuery AJAX Error!");     
},
success:function(msg){
    alert(msg);
    return;
    if(msg=='换货成功'){
 document.location="${pageContext.request.contextPath}/orderItem/queryProduceItem.do?orderBusType="+${orderBusType};
    }
}
});
     }
 }
3. Java コード:
public ActionForward confrimExchangeGoods(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
log.info("确认换货 confrimExchangeGoods start...............");
response.setCharacterEncoding("UTF-8"); //这里要设置一下
String wlCompany = request.getParameter("wlCompany");
String wlId = request.getParameter("wlId");
String proposer = request.getParameter("proposer");     .....}

この記事のさらに興味深い内容については、php 中国語 Web サイトの他の関連記事にご注目ください。

推奨読書:

iframe でのページアンカーの失敗に対処する方法

iframe でドキュメントオブジェクトを取得する手順の詳細な説明

以上がjquery.ajaxで渡すURLに中国語が文字化けして表示される場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。