[英]Java source file encoding with Chinese character
我將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
選項,但是仍然無法編譯。
我認為問題不在於Ubuntu,Ubuntu的控制台,Javac或Eclipse,而在於您將文件從Windows傳輸到Ubuntu的方式。 在將其復制到Ubuntu 之前,必須將其存儲為utf-8 ,否則在Windows和區域設置中設置的代碼點信息已丟失。
您是否在build.xml
指定了<javac>
任務的encoding
選項?
它看起來應該像這樣:
<javac encoding="GBK" ...>
如果未指定,則在Windows上它將使用平台默認編碼(在您的設置中為GBK),在Linux上它將使用平台默認編碼(在您的設置中為UTF-8)。
由於您希望構建在兩個平台上都可以工作(最好不更改任何一個平台的配置),因此在編譯時需要指定編碼。
您需要將源代碼從Windows代碼頁轉換為UTF-8。 為此使用iconv 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.