我用str   =   new   String(str.getBytes("ISO8859_1"),"utf-8");
但是用System.out.println(str);
现实的中文全是???
请问怎么回事,另外怎么给分?

解决方案 »

  1.   

    str   =   new   String(str.getBytes("ISO8859_1"),"GBK");
    str   =   new   String(str.getBytes("ISO8859_1"),"GB2312");
    这样试试
      

  2.   

    改一下你eclipse上的编码格式吧
      

  3.   

    我估计情况是这样的,你那个字符串变量str接受的已经是一个中文变量了。你先输出一下看看。你这时再用编码转化,是首先用“ISO8859_1”编译了中文,这个时候已经变为乱码了;所以,以后无论你怎么转化成其它什么字符,输出后都是乱码。
      

  4.   

    支接 new String 试试
    和你的操做系统有关系吧
      

  5.   

    str = new String(str.getBytes("GBK"),"GBK");
    是可以打印出中文来的,可不知道这样做有什么意义?如果字符集是ISO8859_1的话,中文都会显示成???的