new String(byte[],encoding)
encoding指明的是byte[]数组表示的文字的编码方式。
你的写法当然不对了,
改成strContent=new String(strContent.getBytes("GBK"),"GBK")

解决方案 »

  1.   

    to:kindlemoney(钱老大),你的做法好象不对吧,我是为了不同编码字符集的转换才这么做的,象你这样说的话,我何必strContent=new String(strContent.getBytes("ISO8859_1"),"GBK"),直接strContent=strContent就好了,那不是跟没写一模一样,这是俺的愚见!
      

  2.   

    我用strContent=new String(strContent.getBytes("ISO8859_1"),"GBK")转换过字符。不过不是在VB下,你把"ISO8859_1"和"GBK"掉个个试试
    如果还不行,你去查查字符集。我觉得应该是字符转换的问题
      

  3.   

    to diudiu2002(丢丢) ,String在java内部是按utf16编码存储的。
    String.getBytes(encoding)意思是把String的内容转成指定的
    encoding放到byte数组中。用new String(strContent.getBytes("ISO8859_1"),"GBK")只
    有在一种情况下会得到正确结果,就是strContent在此之前已经由于
    构造的时候指定的encoding不对而成了乱码,这么一处理就给它反了过来。