小编:遇到idea中文乱码问题 解决问题的思路
1.设置开发工具的编码为utf-8(列如:idea或eclipse)
2.response乱码问题
response.setContentType("text/html;charset=UTF-8"); 目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;
response.setCharacterEncoding("UTF-8");目的是用于response.getWriter()输出的字符流的乱码问题。如果是response.getOutputStream()是不需要此种解决方案的,因为这句话的意思是为了将response对象中的数据以UTF-8解码后的字节流发向浏览器;
3.request乱码问题
request请求分为post和get,对于不同的请求方式有不同的解决乱码的方案;
3.1 post请求乱码:
只需要在servlet中加入Request.setCharacterEncoding("UTF-8");
3.2 get请求乱码
法一:要解决这个问题,修改tomcat服务器的配置文件。修改tomcat目录下的conf/server.xml文件的第43行:
修改前内容:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="200000"
redirecPort="8443"/>
修改后内容:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="200000"
redirecPort="8443" URIEncoding="utf-8"/>
法二: String usernameString = new String(username.getBytes("ISO-8859-1"),"UTF-8");
如果还解决不了,可能是开发工具的一些特殊原因,比如idea启动tomcat时需要添加-Dfile.encoding=utf-8解决乱码
希望对你有所帮助!