使用日语注释构建Java程序(错误:用于编码UTF8的不可映射字符)

时间:2015-01-27 04:24:26

标签: svn ant utf-8 javac openjdk

我正在尝试构建一个包含日语注释的开源Java程序Smart-GS。 Javac给了我这些消息:

[javac] /home/vagrant/smart-gs/trunk/src/com/hexidec/ekit/GSHTMLEditor.java:618: error: unmappable character for encoding UTF8
    [javac]                     // TODO �����������ꂽ catch �u���b�N
    [javac]

现在,假设作者可以编译程序,我的UTF8问题来自哪里?我在Ubuntu VM中这样做:

  1. sudo apt-get install openjdk-7-jdk subversion
  2. svn checkout http://svn.sourceforge.jp/svnroot/smart-gs/
  3. cd smart-gs / trunk;构建
  4. 我看到这类问题的解决方案建议在文本编辑器中打开文件并使用不同的设置保存,但也许这里有更好的解决方案。 (FWIW,我不会说日语......)

    修改

    工作解决方案是:

    export JAVA_TOOL_OPTIONS="-Dfile.encoding=ISO-8859-1"
    

1 个答案:

答案 0 :(得分:1)

尝试使用-Dfile.encoding =(文件中的编码名称)设置环境变量JAVA_TOOL_OPTIONS。

所以关于linux和OSX

export JAVA_TOOL_OPTIONS="-Dfile.encoding=JIS"

export JAVA_TOOL_OPTIONS="-Dfile.encoding=SHIFT-JIS"

如果失败,您可以尝试使用以下内容删除文件中的注释:

grep -v“^ [] * //”/home/vagrant/smart-gs/trunk/src/com/hexidec/ekit/GSHTMLEditor.java> /home/vagrant/smart-gs/trunk/src/com/hexidec/ekit/GSHTMLEditor.java