奥门巴黎人手机网址【app】

在页面上用action传递参数到后台出现乱码的消除措施

2019-09-12 09:21·巴黎人娱乐场

复制代码 代码如下:

测试五:
前台JavaScript
//不对url进行encodeULANDI处理。city和county均含有普通话内容
var city = queryForm.getForm().findField("city").getValue();
var county = queryForm.getForm().findField("county").getValue();
caseStore.proxy = new Ext.data.HttpProxy({url:"payCaseManage.do?oper=listCase&city="+city+"&county="+county"});
后台Jave代码
//不选择java.net.UTiguanLDecoder.decode对request.getParameter()进行拍卖
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType("application/x-json");
String county = request.getParameter("county");
String city = request.getParameter("city");
System.out.println(city+county);
输出汉语乱码

//检索姓名方法
function jiansuoByName(k,name){
 if (name == '') {
  alert("请输入检索的源委");
  return;
 }
  $.post(basePath+"/sysmgr/searchesAjax/searchesJsonPlugin!searchesNameByOMCByName.action", createQS(name),
     function(data){
       //alert(data.result+'\n'+k); // John
       setLine_memoryFunction_A(data.result,k);      
     }, "json");
}

encodeURI

如:

 

import java.net.URLDecoder;

function verify() {
    //消除中文乱麻难点的办法1,页面端发出的数据作二次encodeUQX56I,
    服务器段使用进行退换来UTF-8;
    //化解普通话乱麻问题的方法2,页面端发出的数据作一回encodeUCR-VI,
      那些做的利润在于,不管浏览器客商在页面来安装编码,服务器所运用的编码来做三回U卡宴Lencode调换到UTF-8.
    var url = "AJAXServer?name=" + encodeURI(encodeURI($("#userName").val()));
    url = convertURL(url);
    $.get(url,null,function(data){
        $("#result").html(data);
});
科技世界,}

复制代码 代码如下:

 

页面上用jquery ajax

JS、C#编码解码

escape不编码字符有67个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeU汉兰达I不编码字符有85个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeUCRUISERIComponent不编码字符有柒15个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

JSP的JS中:汉语参数用encodeU本田CR-VI(encodeULacrosseI(汉语参数)),经过三遍转码。举例:

测试四:
前台JavaScript
//对url五遍encodeUCR-VI,caseRootId中含有中文内容
caseTreeLoaderDataUrl = 'payCaseManage.do?oper=treeLoad&nodeId=' + node.id+'&text='+node.text+'&caseRootId='+caseRootId;
caseTree.loader.dataUrl = encodeURI(encodeURI(caseTreeLoaderDataUrl));
后台Java
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
response.setContentType("application/x-json");
//对request.getParameter("caseRootId")进行java.net.URLDecoder.decode 一次
String caseRootId = java.net.URLDecoder.decode(request.getParameter("caseRootId"),"UTF-8");
System.out.println(caseRootId);
结果输出中文正确

String _name = request.getParameter("key");
String name = URLDecoder.decode(_name,"utf-8");

 

String realName = ServletActionContext.getRequest().getParameter("realName");
try {
realName = java.net.URLDecoder.decode(realName,"UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}

PS:前后台实行数据交流时,最好使用JSONObject对数码举行包装。

复制代码 代码如下:

具体表达当中实际的法规剖判如下,借使页面端输入的汉语是三个“中”,依据上边步骤进行解码
1.第二回encodeU福睿斯I,依照utf-8格局获取字节数组形成[-28,-72-83],对字节码数组进行遍历,把每一个字节转化成对应的16进制数,那样就改为了[E4,B8,AD],最终成为[%E4,%B8,%AD]