【发布时间】:2023-03-09 13:20:01
【问题描述】:
我正在处理一个 Java 项目,其中所有源代码文件都以 UTF-8 编码,并且许多包含日文文本。
我升级了 Eclipse,并打开了相同的工作区。
然而,Eclipse 立即销毁了我所有工作区的文件,将它们更改为 Eclipse 的默认编码 (Cp1252) 并重新保存它们,因此:
String A = "カフェ";
现在:
String A = "飲�物";
使文件恢复原状的最佳方法是什么?
【问题讨论】:
-
是否可以安全地假设您没有使用某种源代码管理器(也称为版本控制系统),例如 git、svn、Perforce 等?
-
@E-Riz 我确实没有在这个项目上使用任何版本控制。
-
Eclipse 不会“重新保存”所有文件,除非您采取一些明确的措施。这些文件可能仍然是 UTF-8 编码的,但 Eclipse 将它们显示为 CP-1252。我相信您所要做的就是将 Eclipse 的默认编码改回 UTF-8。
-
@JimGarrison 我通常也希望如此,但如果我在 Notepad++ 中打开文件,我可以看到它们当前以包含字符的 UTF-8 正确编码,因为 Cp1252 将解码 UTF-8(所以这些文件现在实际上包含 飲ã�¿ç‰© 但以 UTF-8 编码)。这些文件都同时更新了(除了它们被导入 Eclipse 之外没有任何改变 - 没有移动它们)所以 Eclipse 实际上确实重新保存了它们。注意:我有各种可能在其中发挥作用的插件,例如 Lombok。但它已经发生了,这本身我无法逆转。
-
字符串
飲ã�¿ç‰©看起来像 UTF-8 被解释为 CP1252。我