用于编码UTF-8 netbeans的Java不可映射的字符{" copy"," 169"},//? - 版权标志

时间:2014-09-18 22:00:12

标签: java netbeans encoding

我已经下载了apache lang源代码,但我的netbeans编码是UTF-8,我发错了:

\src\org\apache\commons\lang\Entities.java:64: error: unmappable character for encoding UTF-8
        {"copy", "169"}, // ? - copyright sign

我该如何解决这个问题?

我已尝试通过记事本++将文件编码为utf-8,但它没有帮助

2 个答案:

答案 0 :(得分:1)

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

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

编辑:使用您在评论中提到的课程,您可以使用

StringEscapeUtils.escapeHtml(yourCharacter);

这将使您的角色(在您的案件中为版权)返回为html代码(&copy)。如果您想进行逆向治疗,可以使用

StringEscapeUtils.unescapeHtml(yourCode);

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

答案 1 :(得分:0)

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功能。