从ajax中传值到action中乱码问题。
在网上找了好多方法都行不通request.setCharacterEncoding("UTF-8");response.setContentType("text/jsp;...
在网上找了好多方法都行不通
request.setCharacterEncoding("UTF-8");
response.setContentType("text/jsp;charset=UTF-8");
String salesman=request.getParameter("salesman");
salesman=java.net.URLDecoder.decode(salesman, "UTF-8");
上面这是我在action中写的转换方法 可是不管用啊
下面的代码是我ajax中的传值
xmlhttp.open("post", "salesman.do?op=checSalesman", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("salesman="+escape(salesman)); 展开
request.setCharacterEncoding("UTF-8");
response.setContentType("text/jsp;charset=UTF-8");
String salesman=request.getParameter("salesman");
salesman=java.net.URLDecoder.decode(salesman, "UTF-8");
上面这是我在action中写的转换方法 可是不管用啊
下面的代码是我ajax中的传值
xmlhttp.open("post", "salesman.do?op=checSalesman", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("salesman="+escape(salesman)); 展开
4个回答
展开全部
出现乱码问题,首先要检查你的页面内的编码和jsp页面的编码和你的action要转的编码。这些对要一致,建议用UTF-8,然后就是你的提交方式,如果你选择的是get方法,那在action中的转码是无效的,这个可以到网上查下。处理的方法就是在服务器中如TOMCAT 的conf文件夹的server。xml文件中更改这个 <Connector port="8009" URIEncoding="UTF-8"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />添加 URIEncoding="UTF-8".如果是post方法。action里的转码可以用。上面的处理完了后,如果还是有问题的话,就有转换函数(下边那个人说的)进行两次的转化(这个转化是针对UTF-8的编码)encodeURI(encodeURI(userName)),然后再action中 进行解码 。String a=URLDecoder.decode("页面穿过来的值","UTF-8");
这样就可以了。
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />添加 URIEncoding="UTF-8".如果是post方法。action里的转码可以用。上面的处理完了后,如果还是有问题的话,就有转换函数(下边那个人说的)进行两次的转化(这个转化是针对UTF-8的编码)encodeURI(encodeURI(userName)),然后再action中 进行解码 。String a=URLDecoder.decode("页面穿过来的值","UTF-8");
这样就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解决乱码的方法有很多中,通常用这个response.setContentType("text/html; charset=utf-8"),或者写一个过滤器都可以解决问题,但如果是以流的方式把中文的输出到页面,需要在获得流之前先设一下编码方式,如:response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();这样就Ok了!
PrintWriter out = response.getWriter();这样就Ok了!
追问
过滤器我写了,对别的方法管用啊。但是对这个好像不管用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Ajax中转换下
更多追问追答
追问
能详细的说下吗?
追答
我是用JQuery做的,给你举个例子吧
$.get("http://localhost:8080/UserVerify/servlet/UserVerify?userName="+encodeURI(encodeURI(userName)),null,function(response){
$("#result").html(response);
});
用这个encodeURI在传值的时候转换下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
action编码类型用utf-8,如果项目已经差不多了,就在每个action中使用转化函数,把获取的内容手工转换成你需要的编码。
追问
看我的补充问题,该怎么解决呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询