【发布时间】:2017-02-25 01:30:13
【问题描述】:
我有一个带有字符串String s="P�rsh�ndetje bot�!"; 的.java 文件。
当我在Notepad++ 中打开此文件并将编码更改为 ISO-8859-1 时,它会显示适当的字符串:"Përshëndetje botë!",但如果我在 idea intellij 中打开文件并将编码更改为 ISO-8859-1,它警告我某些符号如何无法转换,然后将这些符号替换为 ? 标记:"P?rsh?ndetje bot?!"。
为什么会这样?为什么Notepad++可以转换文件,而idea不行?
【问题讨论】:
-
为什么不直接使用UTF-8呢?也许 Intellij 对您选择的编码有问题?
-
你使用文件 > 文件编码 >
ISO-8859-1> 转换?通过这些步骤,我的 intellij 没有问题 -
我不确定,但有可能当你第一次打开文件时它被读取为 UTF-8 并且无效的字节序列变成了Unicode replacement character,然后当你尝试转换为 ISO-8859-1 它正在尝试转换 Unicode 替换字符,但在 ISO-8859-1 中没有任何值,因此它被转换为
?。 -
我认为您需要让 IntelliJ 以 ISO-8859-1 格式打开文件,而不是先以 UTF-8 格式打开它然后尝试 convert 符合 ISO-8859-1。
-
@David Conra,谢谢,看起来这行得通。我试图在主项目之外打开文件并且转换成功了!然后我想当这两个警告出现时点击“重新加载”就可以了。感谢您和 buraquete 抽出宝贵时间。
标签: java intellij-idea encoding notepad++