问个中文解决的问题!
用这句话:username = new String(username.getBytes("ISO8859-1")); 获得还是乱码,
我可不可以把上面那句替换成: username = new String(username.getBytes("gb2312"));  ????

解决方案 »

  1.   

    写成:
     username = new String(username.getBytes("ISO8859-1"),"gb2312");
    就OK了。至于原因是:你的机器可能Property属性被改了的不是默认的GBK的encoding,所以当你从第三方软件获得了一个字符串后,这个字符串可能事用ISO8859-1编写的 你在getBytes()中写的ISO8859-1事解码,把他解成UNICODE的编码,最后如果你的机器如果默认事GBK的解码属性的话就不用加GB2312,那个字符串 如果不是你就或者用system.setproperty()方法把他改成GBK 或者是加这个字符串就可以了。
    不知道我说的够不够清楚。
    第一次回帖,大家多支持!