我将一个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
选项,但仍然无法编译。
答案 0 :(得分:0)
我认为问题不在于Ubuntu,Ubuntu的控制台,Javac或Eclipse,而在于你将文件从windows传输到Ubuntu的方式。您必须将它存储为utf-8 ,然后才能将其复制到Ubuntu,否则您的语言环境中设置的代码点信息已经丢失。
答案 1 :(得分:0)
您是否在encoding
中指定了<javac>
task的build.xml
选项?
它应该是这样的:
<javac encoding="GBK" ...>
如果您没有指定它,那么在Windows上它将使用平台默认编码(在您的设置中为GBK),在Linux上它将使用平台默认编码(在您的设置中为UTF-8)。
由于您希望构建在两个平台上都可以工作(最好不要更改任何平台的配置),因此您需要在编译时指定编码。
答案 2 :(得分:-1)
您需要将源代码从Windows代码页转换为UTF-8。请使用iconv。