1

我正在与其他人一起编写大学作业的应用程序,有时我们在评论或视图中显示的字符串中使用非英语字符。问题是每个人都在使用不同的操作系统,有时甚至使用不同的 IDE 进行编程。

具体来说,一个是使用 MacOS,另一个是 Windows7,另一个是 Ubuntu Linux。此外,它们都使用 Eclipse,而我使用 gedit。我们不知道 Eclipse 或 gedit 是否可以配置为与 UTF8 业务一起正常工作,至少我没有找到适合我的东西。

事实是,我用非英文字符写的东西出现在 Windows 和 MacOS 虚拟机中,带有奇怪的符号,反之亦然,有时,我的非 linux 朋友写的东西会引发如下编译警告:warning: unmappable character for encoding UTF8.

你有什么想法来解决这个问题吗?这不是很紧急,但会有所帮助。

谢谢你。

4

4 回答 4

8

不确定 gedit,但您当然可以将 eclipse 配置为对源代码使用您喜欢的任何编码。它是项目属性的一部分(并保存在项目的 .settings 目录中)。

替代文字

于 2010-12-18T15:13:38.990 回答
2

Eclipse 与 UTF-8 一起工作得很好。请参阅迈克尔关于配置它的答案。也许对于 Windows 和/或 MacOS 来说,这确实是必要的。Ubuntu 使用 UTF-8 作为默认编码,所以我认为没有必要在那里配置 Eclipse。

至于Gedit,这张图显示在Gedit中保存文件时可以更改编码。

无论如何,你需要确保你们所有人都使用 UTF-8 作为源代码。这是实现源代码跨平台可移植性的唯一合理方法。

于 2010-12-18T15:18:17.920 回答
1

您可以通过使用字符转义序列和仅对文件使用 ASCII 编码来避免字符串中的问题。

例如,一个破折号可以表示为“\u2013”​​。

您可以在此处快速搜索各个字符的 Java 代码。

正如下面的 Sergey 所指出的,这对于少量的非 ASCII 字符最有效。另一种方法是将所有 UTF-8 字符串放在资源文件中。Eclipse 为此提供了一个方便的向导。

于 2010-12-18T15:17:07.923 回答
1

如果您的 UTF8 文件包含 BOM(字节顺序标记),那么您将遇到问题。这是一个已知的错误,请参见此处此处

BOM 对于 UTF8 是可选的,并且大多数时候它不存在,因为它破坏了许多工具(如 Javadoc、XML 解析器......)。

更多信息在这里

于 2010-12-18T16:17:09.953 回答