请教高手,以下程序不知道为什么出乱码?
tomcat容器中的编码也是UTF-8,如果单独写servlet并不是乱码,应该是通过javascript传输到服务器时出错。
login.jsp头文件已经设置了
pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"
登录按钮:
<input type="button" value="登录" onclick="userCheck()" >
function userCheck() {
var uname = document.myform.uname.value;
var psw = document.myform.psw.value;
sendRequest('login?uname='+ uname + '&psw=' + psw);
。。省略}
跳转到servlet中:
request.setCharacterEncoding("UTF-8");
String uname = request.getParameter("uname");
String psw = request.getParameter("psw");
System.out.println(uname);
这里的uname打印出乱码。请教大侠,应该如何解决?
tomcat容器中的编码也是UTF-8,如果单独写servlet并不是乱码,应该是通过javascript传输到服务器时出错。
login.jsp头文件已经设置了
pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"
登录按钮:
<input type="button" value="登录" onclick="userCheck()" >
function userCheck() {
var uname = document.myform.uname.value;
var psw = document.myform.psw.value;
sendRequest('login?uname='+ uname + '&psw=' + psw);
。。省略}
跳转到servlet中:
request.setCharacterEncoding("UTF-8");
String uname = request.getParameter("uname");
String psw = request.getParameter("psw");
System.out.println(uname);
这里的uname打印出乱码。请教大侠,应该如何解决?
解决方案 »
- 求解一个简单的hibernate关联保存问题
- java判断系统时间和当前输入时间的大小(以下是我当前代码,不行为什么?)
- ext自动提交问题,在线等
- @@@@@@@@@@有关cookie的简单问题
- 小弟郁闷啊!!请教各位高手大哥Jbulider+Oraclce 10g
- 高手帮我看看我的SAX....怎么报了个:java.net.MalformedURLException: no protocol的错误啊?
- 谁研究过jFreeReport???急需帮忙!!!!!
- STRUTS中,JSP中的带有STRUTS标志的FORM怎么定义?
- 谁还记得,我忘了:)
- 浏览器兼容问题
- 大家是怎样分页的??????????
- ireport 得到的数据 支持java条件语句吗?
var uname = document.myform.uname.value;
document.write(uname);
这里输出的中文字符是正常的,应该就是使用javascript客户端向服务器端servlet发送数据的时候,编码错误。这里已经排除tomcat编码错误的问题(因为单独用jsp-servlet发送时,中文不是乱码。)
请教大侠,应该如何解决?
String uname=new String(request.getParameter("uname").getBytes(),"UTF-8");
我都试过了,还是乱码。
sendRequest('login?uname='+ encodeURI(encodeURI(uname))+ '&psw=' + psw);
再加上
String name=URLDecoder.decode(request.getParameter("uname"), "UTF-8");