【发布时间】:2011-09-09 18:01:17
【问题描述】:
我有一个混合编码的源代码树,我的一些源文件收到了上面的警告。我成功地将这些文件的编码设置为 ISO 8859-1,并且在使 IDEA 的缓存无效后,它们现在可以在编辑器中正确显示。但是,当我编译时,我仍然收到错误消息。
生产版本使用 ant,这不是问题,但这意味着我无法在 IDE 中“制作”。有没有办法让 IDEA 正确编译这些,或者如果失败,将错误降级为警告?
【问题讨论】:
-
我对IDEA一无所知,但是为什么需要混合编码的源代码树呢?将所有文件转换为 UTF-8 不会让生活更轻松吗?
-
有问题的文件与具有已知编码的外语数据中的正则表达式匹配有关。在您匹配的编码中编写正则表达式更容易且不易出错......或者我假设。 (我是这个代码库的新手。)
-
当字符串在内存中时,无论如何它们都是 UTF-16,与文件所在的编码无关(假设您正确编译它们)。因此,虽然我可以看到为什么这些文件是以这些编码创建的,但现在没有什么反对转换它们的。 (当然,你也可以尝试修复 IDEA 的 bug。)
标签: java encoding intellij-idea javac