![](/img/trans.png)
[英]Reading xml -file in UTF-8 format in Windows with Java gives “IOException: Invalid byte 2 of 2-byte UTF-8 sequence.” -error
[英]Invalid byte 2 of 2-byte UTF-8 Java, sequence error depending on Windows/IntelliJ
所以相同的代码在两台设备上运行,两台 PC 都运行 Windows 10,但变量在 IntelliJ 调试器中表示不同,一个可以解码字符串,另一个不能。 两者都访问相同的端点。 这是抛出错误和代码中断的代码片段。 两个代码都在同一个 JRE 上运行,并从同一个端点获取变量值。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(file);
当我生成 UTF-8 编码的 XML 文件时,它会为该变量引发错误。
未在调试器中显示的 PC1 上引发错误的变量
在 PC2 上抛出错误的变量
我尝试重新安装所有 JRE、IntelliJ 等,仍然没有帮助...
您确定该文件是 UTF-8 编码的吗? 就我而言,我意识到它使用的是 windows-1250 编码。 所以我必须指定一个编码:
InputStream is = ...
InputSource src = new InputSource(new InputStreamReader(is, Charset.forName("cp1250")));
Document xmlDocument = builder.parse(src);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.