new String(xxx.getBytes("ISO-8859-1"),"GB2312");

解决方案 »

  1.   

    我已经改了,用GB2312,又出现了
    Exception in thread "main" java.io.UnsupportedEncodingException: EUC_CN
            at sun.io.Converters.getConverterClass(Unknown Source)
            at sun.io.Converters.newConverter(Unknown Source)
            at sun.io.ByteToCharConverter.getConverter(Unknown Source)
            at java.lang.String.getBTCConverter(Unknown Source)
            at java.lang.String.<init>(Unknown Source)
            at java.lang.String.<init>(Unknown Source)
            at trsjavabeantestcode.TRSSql.main(TRSSql.java:61)我想和系统无关的。
    因为我用jsp来写,在tomcat下运行,中文字符都按GBK转换了,显示也是正确的。但不知应用程序为什么不可以
      

  2.   

    new String(str.getBytes("ISO-8859-1"), "GBK");
    没问题的。
    如果还不行,是你的classpath没有加入i18n.jar包
      

  3.   

    il8n.jar好像不是自带的吧。另外仍旧是同样的jdk,用jsp写同样的代码,转换中文。
    在tomcat下运行,就能够正常显示。
    为什么,难道是tomcat中带了什么特殊的字符包
      

  4.   

    你可以把它写到你的Bean里,然后再调用,这样可以避免变量定义上的冲突,在你执行这句前要先看一下str的值是不是空,如果是空的话就会出这种错误。
      

  5.   

    在classpath中加入了i18n.jar,可还是有同样的错误
      

  6.   

    把i18n.jar加入到classpath中,同样还是出现原来的问题。why