- var regid = $('#oregion').combobox('getValue');
- //var sname = $('#sname').val();
- var sname = encodeURI($('#sname').val(),"UTF-8");
- if(regid!=""&®id!='undefined'){
- $.ajax({
- async: true,
- type : "POST",
- dataType : "json",
- url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
- success : function(data) {
- if(data.mes!=""&&data.mes!=null){
- $.messager.alert('Warning',data.mes);
- return false;
- }
- }
- });
- }
- }
Kopiraj kodo Zgornjo kodo je mogoče običajno posredovati v kitajščini v FF/Chrome, vendar je v IE težava in izhod informacij v ozadju je popačen.
Poskus težave:
1. NastaviteTipTip: "besedilo/navadno; Charset=utf-8", težava vztraja
2. Ponovno sem preveril stran JSP, kjer je ajax koda, vse uporabljajo UTF-8, vendar težava ostaja
3. V Java kodi v ozadju je prisilna pretvorba kodiranja UTF-8, GBK in GB2312 in težava ostaja
Po analizi je ugotovljeno, da je morda povezana s prenosom vsebine v brskalniku ali JQuery, vendar trenutno ni mogoče natančno določiti.
Rešitev:
Prejšnji odstavek: encodeURI($(dom).val(), "UTF-8"); encode with encodeURI
Backend Java koda:
URLDecoder.decode(inputStr, "UTF-8"): Backend koda dekodira niz, ki se posreduje v sprednjem segmentu.
Povzetek:
Nazadnje se lahko informacije o nizu, ki jih posreduje zahtevek Ajax Post, prikažejo normalno, kitajščina pa normalno.
|