一尘不染

Java中的“编码不可映射字符”警告

java

我目前正在研究一个Java项目,该项目在编译时会发出以下警告:

/src/com/myco/apps/AppDBCore.java:439: warning: unmappable character for encoding UTF8
    [javac]         String copyright = "� 2003-2008 My Company. All rights reserved.";

我不确定SO如何在日期之前呈现该字符,但是它应该是版权符号,并在警告中以菱形问号显示。

值得注意的是,该字符正确地出现在输出工件中,但是警告令人讨厌,并且文本编辑器可能有一天会触摸包含此类的文件,而该文本编辑器会错误地保存编码…

如何将这个字符注入“版权”字符串中,以使编译器满意,并且将符号保留在文件中而没有潜在的重新编码问题?


阅读 345

收藏
2020-09-08

共1个答案

一尘不染

使用“ \ uxxxx”转义格式。

根据Wikipedia所述,版权符号为unicode U
+ 00A9,因此您的代码行应为:

String copyright = "\u00a9 2003-2008 My Company. All rights reserved.";
2020-09-08