您的位置:首页 > 其它

使用idea无论怎么设置都乱码(空字符串也乱码)

2017-03-22 00:00 591 查看
最近在做一个新项目的时候,设置了前台页面全部使用UTF-8,后台的文件全部使用UTF-8。

idea的默认编码和项目也全部设置为UTF-8。还加上了spring的字符编码过滤器,全部用的utf-8,为了防止乱码问题,使用的freemarkert也设置为utf-8,坚持将所有的东西设置为utf-8。可神奇的事情发生了,项目跑起来后中文乱码出现了。

出问题后首先检查的数据库,无异常,然后发现就简单的将 下面的语句输出

System.out.println("视图无数据");

也会是乱码。然后怀疑的是idea编码设置问题,可查询一看



上面的三个部分即使设置为utf-8还是没用,控制台输出是乱码,数据也乱码。因为之前发现修改了这里的编码后如果不重启,编码是不会生效的,而且开了另外一个项目,这里的编码也会被影响,于是重启了idea,依旧无效。接着检查了tomcat的编码,设置为utf-8 无果。

接着设置idea中tomcat的编码。如下截图



看到这个设置,发现乱码更加严重。然后终于发现idea还专门有个文件保存编码,而且你页面即使显示



为utf-8,也不一定正确。

去到项目

的目录下有个.idea的文件夹,这个文件夹里有个encodings.xml的文件

里面记录了你某些文件对应的特殊编码

将里面除了utf-8编码的全部删除,乱码终于解决。注意,有些idea的编码即使设置了utf-8,不重启或者不删除这个文件也是无效的。千千万万要注意这个idea的大坑。

另外总结下idea遇到的其他坑:

1,乱码的如上

2,lib文件如果没手动加到配置下,是无法加载到tomcat下的

3,在一个项目上打开另外一个项目,会对新打开的项目编码有影响

4,idea的tomcat设置非常麻烦,一个地方没设置好,基本项目就是404
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息