Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,中文字符不能被正确解析了。
解决方法:
开发工具:
设置开发工具,eclipse 或者 myeclipse 编码为 utf-8 ----window --- preferences --- General ---Workspace---text file encoding
设置项目编码,右键项目,Properties---Rescource---text file encoding
以上不是请求问题出错,若是从jsp文件中获取的值开始乱码,则需修改tomcat
tomcat:
在tomcat安装路径的---conf---server.xml下的connetor属性中
在未注释掉的端口号中,如8080中添加 URIEncoding="UTF-8" 主要是应对 get请求,
useBodyEncodingForURI="true" 主要应对 post请求。
若不行,则可以在获取值得前边添加,
request.setCharacterEncoding("utf-8"); //设置获取值的编码
如果还不行,则可以如下更改
String name = new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8"); //比较久远的更改方式,比较复杂,但一定可以!
如果以上可以的话,还有一个方法可以简便上一个。把你的提交方式全改为默认,get提交,在jsp中 doGet中转 doPost。