用于编码 UTF-8 netbeans { "copy" , "169" }, // 的 Java unmapable 字符- 版权标志



我已经下载了apache lang源代码,但我的netbeans编码是UTF-8,我生成了一个错误:

srcorgapachecommonslangEntities.java:64: error: unmappable character for encoding UTF-8
        {"copy", "169"}, // ? - copyright sign

我该如何解决这个问题?

我试图用notepad++将文件本身编码为utf-8,但这对没有帮助

尝试使用unicode符号:"\u00a9"。

您不应该直接在代码中使用特殊字符,而是使用专门用于此的代码来避免此类问题。

编辑:使用你在评论中提到的类,你可以使用

StringEscapeUtils.escapeHtml(yourCharacter);

这将以html代码(&copy)的形式返回您的字符(在您的情况下是版权)。如果你想做反向处理,你可以使用

StringEscapeUtils.unescapeHtml(yourCode);

例如,如果您将&copy作为参数传递,它将返回版权符号。

netbeans IDE 有两种解决方案

1.右键单击apache lang源项目并选择

->Properties
  ->Sources
    ->Bottom left click the encoding drop down list and select ISO 8859-1

2.删除以下类别

 org.apache.commons.lang.Entity
 org.apache.commons.lang.StringEscapeUtils  

记住,如果你决定采用第一个解决方案,那么这将改变你项目的编码。如果您想将项目编码保持为默认的UTF-8,那么请使用第二种解决方案,但这意味着您将失去StringEscapeUtil功能。

相关内容

  • 没有找到相关文章

最新更新