String str = new String(str.getBytes("ISO8859_1"),"gb2312");
转换试试参考:
http://expert.csdn.net/Expert/topic/1084/1084770.xml?temp=.5692865

解决方案 »

  1.   

    原理:在Java程序中,字符串的内码都应该是unicode。Applet的显示,它会自动把unicode转化为本地语言代码并显示。只有当JAVA程序把字符串输出到其它程序(如记事本)或其它格式文件(如磁盘文件)时,才需要转码。我已经测试过:
    对于字符“你”,“万维易化”
    在日文操作系统的日文IE打开网页,Applet打印出来的内码是:4f60(这是UNICODE)
    而HMTL网页传递进去的中文参数:万维易化(内码为:4e07 7ef4 6613 5316,这也是UNICODE),但是均显示不出应有的中文。如:维字显示为一个方框了。
     而在HTML中能够正确显示“万维易化”这四个字的,这说明在Applet中不能采用IE已经安装的字体。(例如:“维”字)  我在 Applet代码中加了:    this.setLocale( java.util.Locale.SIMPLIFIED_CHINESE );
      还是不行。兄弟们,怎解呀!!!!
      

  2.   

    终于找到答案:
        Applet的虚拟机,采用的显示字体是根据操作系统的区域来确定的。所以需要到“控制面板--区域设置”中,把显示区域改为中国,并把字体改为简体中文,保存设置。
        重新启动机器后万维易化,这四个字正确显示。    我不解,为什么非要通过这样子来改??如果能够通过this.setLocale( java.util.Locale.SIMPLIFIED_CHINESE );来设定,哪多灵活。    解决方法二:通过安装南极星之类的内码转换软件,不用修改区域,也能解决。不过,我以前只能测试时,只能解决普通的Applet,而不能解决swing的Applet。
      

  3.   

    没有人知道?????
    经测试,this.setLocale( java.util.Locale.SIMPLIFIED_CHINESE ); Local.setDefault()等均不起作用。结贴。
      

  4.   

    如果你用Windows XP就方便了。