出处:IDEA教程
文件编码修改
- 上图标注 1 所示,IDE 的编码默认是
UTF-8
,Project Encoding
虽然默认是GBK
,但是一般我都建议修改为UTF-8
。- 上图标注 2 所示,IntelliJ IDEA 可以对
Properties
文件进行专门的编码设置,一般也建议改为UTF-8
,其中有一个重点就是属性Transparent native-to-ascii conversion
,- 上图标注 3 所示,对于
Properties
文件,重要属性Transparent native-to-ascii conversion
主要用于转换ascii
,一般都要勾选,不然Properties
文件中的注释显示的都不会是中文。- 上图标注 4 所示,IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要
Convert
编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。
- 如上图演示,对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出演示中的操作选择。
Reload
表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。Convert
表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。- 含有中文的代码文件,
Convert
之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。
由于编码问题引起的编译错误
- 编译报错:
找不到符号
、未结束的字符串文字
等的解决办法:
- 由于 UTF-8 编码文件有分
有BOM
和无BOM
之分,默认情况下 IntelliJ IDEA 使用的编译器是javac
,而此编译只能编译无BOM
的文件,有很多 Eclipse 用户在使用 IntelliJ IDEA 开发 Eclipse 项目的时候常常会遇到此问题。主要是因为 Eclipse 的编译器是Eclipse
,此编译器支持有BOM
的文件编译。顾,解决办法是对于此文件进行 BOM 去除。- 批量去除 BOM,你可以 Google:
批量去除 BOM
、批量转换无 BOM
等关键字,网络上已有提供各种方案。- 除了通过去除 BOM 还有设置 IntelliJ IDEA 的编译器为
Eclipse
,但是一般不建议这样做。- 如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是
UTF-8
,报错文件编码也是是UTF-8 无 BOM
的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在:/项目目录/.idea/encodings.xml
。如果你会修改此文件可以进行修改,如果不会,那就删除掉.idea
整个目录,重启 IntelliJ IDEA 重新配置这个项目即可。
Tomcat 控制台输出乱码
- 如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:
-Dfile.encoding=UTF-8
- 如果你是 Mac 系统,很有可能是需要的。
网友评论