场景
TestChar.java
存盘格式: UTF-8
public class TestChar {
public static void main(String[] args) {
char ch = '字';
System.out.println(ch);
}
}
编译
D:\test\exercise>javac TestChar.java
TestChar.java:3: 错误: 编码GBK的不可映射字符
char ch = '瀛?;
^
解决方案:
方案1, 文件另存为..., 选择 GBK 保存
方案2, javac -encoding UTF-8 TestChar.java
参考自: JVM字符集与java代码字符集
注意:
使用方案2时, 可能会碰到这个问题:
D:\test\exercise>javac -encoding UTF-8 TestChar.java
TestChar.java:1: 错误: 非法字符: \65279
?public class TestChar {
解决方法:
还是另存为... 选择UTF-8, 而不是默认的 UTF-8 + BOM
参考自:java报“非法字符: \65279 ”错误的解决方法