ホームページ > ウェブフロントエンド > jsチュートリアル > jquery.ajax_jqueryのURLで中国語が文字化けしてしまう問題の解決方法

jquery.ajax_jqueryのURLで中国語が文字化けしてしまう問題の解決方法

WBOY
リリース: 2016-05-16 17:01:09
オリジナル
1144 人が閲覧しました

JQuery

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

文字セットが指定されていない場合、ISO-8859-1 が使用されるのが JQuery の文字化けの原因です。

ISO8859-1、通常は Latin-1 と呼ばれます。 Latin-1 には、すべての西ヨーロッパ言語を記述するために不可欠な追加文字が含まれています。

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

私たちの UTF-8 はこの問題を解決できます。

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

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

JQuery コードを変更して charset=UTF-8 を追加するだけで済みます。この方法では、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 コード:

コードをコピーします コードは次のとおりです:

関数confirmcommit(){

var wlCompany = $("#wlCompany").val();//これには中国語が含まれます

var wlId = $("#wlId").val();

var提案者 = $("#proposer").val();

if(confirm("商品を交換してもよろしいですか?")){

$.ajax({

タイプ:'POST'、

url:'${pageContext.request.contextPath}/returnGoods/confrimExchangeGoods.do',

data:'wlCompany=' wlCompany '&wlId=' wlId '&proposer=' プロポーザ、//値を直接渡します

dataType:'text',

エラー:関数(){

アラート("JQuery AJAX エラー!");

}、

成功:関数(msg){

アラート(メッセージ);

戻る;

if(msg=='交換成功'){

document.location="${pageContext.request.contextPath}/orderItem/queryProduceItem.do?orderBusType=" ${orderBusType};

}

}

});

}

}


3. Java コード:

コードをコピーします コードは次のとおりです。
public ActionForward confrimExchangeGoods(ActionMapping マッピング,
ActionForm フォーム、HttpServletRequest リクエスト、

HttpServletResponse 応答) が例外をスローします {

log.info("交換確認 confrimExchangeGoods 開始.....");

response.setCharacterEncoding("UTF-8") //ここで設定する必要があります

String wlCompany = request.getParameter("wlCompany");

String wlId = request.getParameter("wlId");

文字列プロポーザー = request.getParameter("proposer");

.....
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート