带有中文字符的Java源文件编码

时间:2011-03-10 10:43:07

标签: java encoding

我将一个Java项目从Windows平台导入到Ubuntu 我的Ubuntu是10.10,Gnome环境:我的LANGUAGE设置为en_US:en
我的终端的字符编码是:Unicode(UTF-8)
我的IDE是eclipse,文本文件编码是:GBK。

在源文件中,有一些中文常量字符。

使用ant,
在Windows上成功构建项目 但在Ubuntu上,我收到编译错误:

illegal character: \65533  

我不想使用\ uxxxx格式,因为文件已存在,

我已经尝试了javac的-encoding选项,但仍然无法编译。

3 个答案:

答案 0 :(得分:0)

我认为问题不在于Ubuntu,Ubuntu的控制台,Javac或Eclipse,而在于你将文件从windows传输到Ubuntu的方式。您必须将它存储为utf-8 ,然后才能将其复制到Ubuntu,否则您的语言环境中设置的代码点信息已经丢失。

答案 1 :(得分:0)

您是否在encoding中指定了<javac> taskbuild.xml选项?

它应该是这样的:

<javac encoding="GBK" ...>

如果您没有指定它,那么在Windows上它将使用平台默认编码(在您的设置中为GBK),在Linux上它将使用平台默认编码(在您的设置中为UTF-8)。

由于您希望构建在两个平台上都可以工作(最好不要更改任何平台的配置),因此您需要在编译时指定编码。

答案 2 :(得分:-1)

您需要将源代码从Windows代码页转换为UTF-8。请使用iconv