我已经下载了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代码(©
)的形式返回您的字符(在您的情况下是版权)。如果你想做反向处理,你可以使用
StringEscapeUtils.unescapeHtml(yourCode);
例如,如果您将©
作为参数传递,它将返回版权符号。
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功能。