目录
2.直接打印System.out.Println("中文")出现乱码:
删掉tomcat里的-Dfile.encoding=utf-8
3.通过req.getparmmer()得到的数据,通过控制台输出变乱码
前言:
博主通过了长时间的尝试与研究,也看过网上的许多修改方式,有些虽然能改,但是非常的不严谨,很多博主根本找不到问题的根本原因,直接把一堆修改方法罗列出来,要是不行就用下一个,但是这样会造成冲突。虽然控制台输出的都是乱码,但是出现乱码的原因以及如何修改的方法是完全不一样的。胡乱的按照网上的方式修改反而会越改越错!按照我的思路来,对症下药拒绝胡乱修改
而我讲述的修改方式最适用,并且思路最清晰。
统一步骤(极其重要):把ideal编码改为UTF-8
1.左键File
2.选择Settings...
3.把小手移到Editor 点击两下
找到File Encodings按照我的形式配置 ,接下来我将详细讲解,你的乱码问题究竟是什么原因引起的,以及如何解决。牢记一点,只按我的操作来,之前改的乱七八糟的全部改回来!
1.tomcat启动时日志中文乱码:
原因:
反面案例:
许多的博主想当然的认为ideal使用的是UTF-8编码,因此在tomcat的conf文件夹下的loggin.properties把GBK全部改成UTF-8,这是错误的。
正确案例:
只要你的tomcat是8版本以上的,一句话不要动,如果实在改了就按照如下方式改回来,如果改了其他的配置文件,并且问题还没有解决,我建议重新下个tomcat,就当更新个vx,总比你那调回来调回去省时费力
2.直接打印System.out.Println("中文")出现乱码:
原因 :
把你们之前在网上跟着学的跟着配的那些玩意给删掉
删掉tomcat里的-Dfile.encoding=utf-8
tomcat里面的要删掉,这玩意一堆博主说要配,但是非常的不好用还会造成问题!
3.通过req.getparmmer()得到的数据,通过控制台输出变乱码
原因:
这比日语还抽象,因为你没有设置
req.setCharacterEncoding("UTF-8");
解决:
网上大多数的博主讲的非常混乱,没有找到问题的所在,胡乱的教大家配置,这样非常的不好,特此发这篇博客,教以后的我配置。。
4.杜绝浏览器的乱码:
resp.setContentType("text/html;charsetUTF-8")
在使用resp.getWriter().print("")之前使用如上代码可以杜绝浏览器的乱码问题