情况一:tomcat日志中文乱码
如图这种情况,一般在idea用tomcat跑一个web项目启动后tomcat日志在控制台打印出来会出现中文乱码的情况
解决方案1:tomcat的日志配置文件的编码修改,找到tomcat安装目录conf下的logging.properties,encoding都修改成GBK或者UTF-8试试,当然我这种没成功
解决方案2:修改idea显示编码,windows默认用gbk所以idea显示默认为GBK编码,在Help→Edit custom vm options 添加 -Dfile.encoding=UTF-8
有时候可能需要重启一下tomcat就好了
情况二:Tomcat(servlet)接受客户端发送来的数据中文乱码(doget dopost)请求时中文乱码
解决方案1:可能是tomcat编码的问题引起的,在虚拟机运行配置里面添加一行
-Dfile.encoding=UTF-8
解决方案2:tomcat默认编码是ISO-8859-1,不支持中文所以导致中文乱码
①
String chinesetext=new String(request.getParameter("chinesetext").getBytes("ISO-8859-1"),"UTF-8");)
②
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
情况三:Servlet重定向时中文乱码
URL不支持中文,故将中文转化成UTF-8对应编码文本,再存入String中,输出至url
String chineseurl=URLEncoder.encode(chinesetext,"utf-8");