当输入中文时method=get时显示乱码
当输入中文时method=post时中文正常显示
原因:就是当请求方式是GET时,并不把表单数据封装在请求信息的正文中,请求的只是简单的想获取 并不发送信息给服务器,
*并没有将(表单等)信息 传递给HTTP服务器,所以服务器在通过HttpServletRequest检索不到客户端在页面上输入的信息。
通过POST时,除了请求外,还外加发送信息给服务器,所以服务器可以通过HttpServletRequest检索到客户端在页面上输入的信息
(POST方式将页面上的表单数据封装在HttpServletRequest中作为请求信息发给了服务器程序)
解决办法:
接受参数时进行编码转换
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8")
或者修改tomcat的配置文件server.xml
Xml代码
<Connector
port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" useBodyEncodingForURI="true" />
其中 useBodyEncodingForURI="true"为添加的内容!
也可以加上:URIEncoding="UTF-8"(有可能影响其他应用,所以不推荐)。
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0