JAVA默认的编码方式不是UNICODE的吗?也就是用(UTF-16)进行编码的吗?
那怎么在的的程序在进行如下操作:
String temp="啊啊啊";
String result=new String(temp.getBytes(),"GBK");
System.out.println(result);
得到result的结果还是啊啊啊,这是什么原因啊?

解决方案 »

  1.   

    java默认的编码方式是取自你的操作系统的,操作系统默认是中文是gbk的
      

  2.   

    这只是显示的问题,如果你的系统是unix,再设成u8的编码,你再打印出来就是乱码了,
      

  3.   

    java默认的编码方式是取自操作系统的
      

  4.   

    那就是说,如果我换个操作系统的话,换成LINUX,结果就不是这样了吗?
      

  5.   

    System.out.println("")
    在print出来之前java会把编码转换成本地编码吧.在linux下面也不会出问题吧..
    关注:谁测试一下.没linux