黑马程序员技术交流社区

标题: 错误:编码GBK的不可映射字符 [打印本页]

作者: 爱雪、却怕冷    时间: 2013-12-30 02:08
标题: 错误:编码GBK的不可映射字符
class lrx   
{
public static void main(String[] args)
{
  int x=7;
  
  switch(x)
  {
   case 4:
    System.out.println("a");
    break;
   case 5:
    System.out.println("b");
    break;
   case 6:
    System.out.println("c");
    break;
   case 1:
    System.out.println("d");
    break;
   default:
    System.out.println("我爱你黑马");
    break;
  }  
}
}
   代码是这样的。    System.out.println("我爱你黑马");写中文马上报错 写英文就不会报错、希望各位老师指导下。下面是报错原因。
E:\1>javac 520.java
520.java:22: 错误: 编码GBK的不可映射字符
                                System.out.println("鎴戠埍浣犻粦椹?);
                                                           ^
520.java:22: 错误: 未结束的字符串文字
                                System.out.println("鎴戠埍浣犻粦椹?);
                                                   ^
520.java:22: 错误: 需要';'
                                System.out.println("鎴戠埍浣犻粦椹?);
   
作者: zy1349    时间: 2013-12-30 11:42
这个我没有记错的话好像是因为在编译阶段JAVA虚拟机默认了一个用GBK编码的机制,但是编译中文的时候需要用到UTF-8编码,你可以使用-encoding加编码类型来使得它强制转换成UTF-8的编码,编译的时候输入javac -encoding UTF-8 **(你的类名).java,然后应该就可以了,也可以到classpath的路径下去修改:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]。如果你用eclipse,你也可以到Configure --> Options --> JDK Tools --> Compiler里面去吧default的设置加一个UTF-8的编码方式,试试看?
作者: 爱雪、却怕冷    时间: 2014-1-3 18:33
谢谢 谢谢 非常感谢 解决了一个大问题。
作者: 爱雪、却怕冷    时间: 2014-1-4 22:00
zy1349 发表于 2013-12-30 11:42
这个我没有记错的话好像是因为在编译阶段JAVA虚拟机默认了一个用GBK编码的机制,但是编译中文的时候需要用 ...

谢谢 谢谢 非常感谢 解决了一个大问题。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2