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