我有一个混合编码的源代码树,并且我的一些源文件出现了上述警告。我成功地将这些文件的编码设置为ISO 8859-1,并在使IDEA的缓存失效后,它们现在在编辑器中正确显示。然而,在编译时,我仍然收到错误消息。
生产构建使用ant,在那里不是问题,但这意味着我不能在IDE中进行“make”。有没有办法让IDEA正确编译这些文件,或者降低错误到警告级别?
我有一个混合编码的源代码树,并且我的一些源文件出现了上述警告。我成功地将这些文件的编码设置为ISO 8859-1,并在使IDEA的缓存失效后,它们现在在编辑器中正确显示。然而,在编译时,我仍然收到错误消息。
生产构建使用ant,在那里不是问题,但这意味着我不能在IDE中进行“make”。有没有办法让IDEA正确编译这些文件,或者降低错误到警告级别?
我在IntelliJ选项面板编译器/Java编译器中添加了这个属性来解决这个问题:
附加命令行参数:-encoding ISO-8859-1
我在encoding.xml中使用了UTF-8编码,但仍然无法正常工作。一直出现错误“Error: java: error: unmappable character (0xFE) for encoding UTF-8”。
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
<file url="file://$PROJECT_DIR$" charset="UTF-8" />
<file url="PROJECT" charset="UTF-8" />
</component>
</project>
如果您使用的是Intellij, 最快的方法是:
文件 -> 文件属性 -> 文件编码
然后选择您想要的编码方式,比如这个例子中的 ISO-8859-1
。
看起来像是一个已知的漏洞。
在IntelliJ 2019.3中测试的解决方案
打开有问题的文件。转到文件 -> 文件编码。(您还可以在右下角找到快速选项)选择您想要的编码。在我的情况下,它是UTF-8。当它提示您是否要将文件转换为新编码并覆盖内容时,单击“转换”。
尝试编译。您应该能够成功编译。