我该如何在Java/Eclipse中使用/显示像♥、♦、♣或♠这样的字符?
当我尝试直接使用它们,例如在源代码中,Eclipse无法保存该文件。
我该怎么办?
编辑:我该如何查找Unicode转义序列?
问题在于你使用的字符无法在文件设置的编码(Cp1252)中表示。我认为你基本上有两个选择:
选项1:更改编码。根据IBM文档,你应该将编码设置为UTF-8。我认为这可以解决你的问题。
- 将全局文本文件编码首选项 Workbench > Editors 设置为 "UTF-8"。
- 如果需要其他编码,请在单个文件上设置编码,而不是使用全局首选项设置。使用 File > Properties > Info 菜单选项设置单个文件上的编码。
选项2:删除不受"Cp1252"字符编码支持的字符,你可以使用Unicode转义序列 (\uxxxx)替换不支持的字符。虽然这样可以让你保存文件,但并不一定是最佳方案。
对于你在问题中指定的字符,这里是Unicode转义序列:
♥ \u2665
♦ \u2666
♣ \u2663
♠ \u2660
AnyEdit
Eclipse插件。有关详细信息,请参见我的答案。 - Piotr Findeisen可以通过在Eclipse中设置编码方式来解决这个问题:
第一种方式:
在菜单中选择“文件-->属性”,然后在“文本文件编码”部分:选择“其他”选项,从下拉框中选择UTF-8 -> 最后点击“确定”按钮。
第二种方式:
右键单击特定的文件(例如Test.java)-> 属性。 在“文本文件编码”部分:选择“其他”选项,从下拉框中选择UTF-8 -> 最后点击“确定”按钮。
第三种方式:
如果您想为所有项目进行此更改,请前往“窗口-->首选项-->常规-->工作区”。 在“文本文件编码”部分:选择“其他”选项,从下拉框中选择UTF-8 -> 最后点击“确定”按钮。
稍微扩展一下@Joe Lencioni的答案
你可以使用AnyEdit Eclipse插件(可以从Eclipse市场安装)来将Unicode文本轻松转换为Java Unicode转义:
一个小问题是,AnyEdit想要先保存文件,这显然被Eclipse禁止,直到你修复了你的文本。
要解决这个问题,你可以选择更改编码方式为UTF-8等能够处理该字符的编码方式,或者查找相关的Unicode编号并使用\uxxxx转义序列来表示它。
Windows 菜单 -> 首选项 -> 通用(展开) -> 工作区(点击它)。 寻找一个名为“文本文件编码”的框。默认值为“Cp1252”。 更改单选按钮以选择其他,并从组合框中选择“UTF-8”。
如果你使用的是Windows 11,你可以通过更改区域设置来解决这个问题。