1. 文件中内容中文乱码
这个原因是文件的编码和项目的编码不一致导致,将项目工程和文件的编码设置成一致的(如,文件编码是GBK,那就都设置为GBK,若为UTF-8就都设置为UTF-8)
2. 控制台乱码
这里会有两种乱码 Tomcat日志乱码 和
println输出中文乱码,两个的原因比较类似,Tomcat输出默认是UTF-8编码
而Windows控制台默认为GBK编码,所有会出现日志乱码,同理如果你的项目设置不是GBK编码,那么println输出时可能就出现了中文乱码。
解决方法一:
设置idea启动控制台时以utf-8编码启动
在idea安装目录中找到bin目录下的idea.exe.vmoptions和idea64.exe.vmoptions两个文件在最后一行加上-Dfile.encoding=UTF-8
在VM options 中添加 -Dfile.encoding=UTF-8
弊端:
如果Tomcat不是通过idea启动,而是在bin目录下直接启动任然有乱码问题
解决方法二:
修改cmd的编码
①、运行(win+r) --> 输入 regedit 打开注册表
②、找到 [HKEY_LOCAL_MACHINEProcessor]
③、右键 新建字符串值 命名为autorun
④、双击 autorun ;输入数值数据 chcp 65001。点击确定。
弊端:
windows再执行其他的命令的时,有可能会出现一些问题。比如我们执行解锁 vmware 安装
mac 系统时执行 win-install.cmd,可能会出现 unknown cp65001
类型的错误。这个时候我们可以在执行 win-install.cmd 之前将编码格式换回来:chcp
936 之后再执行命令就可以。
修改方法三:
修改Tomcat存放的conf目录中找到logging.properties文件将
java.util.logging.ConsoleHandler.encoding = UTF-8 改为
java.util.logging.ConsoleHandler.encoding = GBK
弊端:
此方法不能和方法一同时使用,且只能解决Tomcat日志乱码问题,println输入乱码需要解决的话得将项目编码设置为GBK