Java 文本编码在执行时无法正常工作
我在IntelliJ IDEA(15.0.1适用于Windows x64)中使用Java(1.8.031)完成了一段时间的当前项目,在该项目中,我使用了一些带有特殊字符(例如“ó”)的文本行。到目前为止,它一直在工作,没有任何问题,但今天它不会 简而言之,我有这样一行代码:Java 文本编码在执行时无法正常工作,java,intellij-idea,encoding,utf-8,Java,Intellij Idea,Encoding,Utf 8,我在IntelliJ IDEA(15.0.1适用于Windows x64)中使用Java(1.8.031)完成了一段时间的当前项目,在该项目中,我使用了一些带有特殊字符(例如“ó”)的文本行。到目前为止,它一直在工作,没有任何问题,但今天它不会 简而言之,我有这样一行代码: System.out.println("ó"); 已输出此(预期): 今天,具有相同源代码的输出是(意外的): 代码文件以UTF-8编码,并相应地设置编辑器。好了,我什么都没变 我已经创建了一个全新的项目来测试它,它工作正
System.out.println("ó");
已输出此(预期):
今天,具有相同源代码的输出是(意外的):
代码文件以UTF-8编码,并相应地设置编辑器。好了,我什么都没变
我已经创建了一个全新的项目来测试它,它工作正常,所以它可能与我的项目相关
知道如何解决这个问题吗?当javac编译器和编辑器在编码上出现分歧时,就会出现这种情况。它可能是某个组件,比如样式检查器/版本控制,它将文档放在核心中,并将“更正”的版本写入磁盘。但是,首先要查找您的配置:在使用maven时,验证pom.xml并进行比较。是否存在
-Dfile.encoding=
或System.setProperty(“file.encoding”、“…”)
?System.getProperty(“file.encoding”)
返回“UTF-8”。如果这也是java源文本的代码,那么一切都可以。然后,您可能会在控制台中看到“ó”,在Windows上运行时,通常不使用UTF-8,而是使用一些单字节编码,如Windows-1252。然后,操作系统就无法处理这个问题。也许昨天有人添加了一个--Dfile.encoding?我是这个项目上唯一的程序员,我没有添加这样的行。它不仅影响控制台,而且影响我用于系统路径的字符串文本,这才是真正的问题。源文本也是UTF-8(使用IDEA和Notepad++检查)。如果我将文件重新编码为ANSI,它就像一个符咒,尽管这显然不是我想要的。这里发生了一些奇怪的事情…这可能是一个依赖于数据的错误:现在调用了一些设置file.encoding的方法。库/IDE更新。IDE设置通过某个功能键重置(可怕)。有两个控制台:IDEA和Windows cmd下。也许你今天看到的是cmd,昨天看到的是IDEA的控制台?搜索IDEA的编码设置
ó
ó