utf-8 and iso8859-1
好像
都有可能会出现乱麻

解决方案 »

  1.   

    你的程序出现了可重入性问题,估计可能是对字符进行了多次编码转换.
    其实,你只是需要在存入数据库时进行一次编码转换,读取显示时就不必要再次转换了.
    如果你不打算存入数据库,那么,就在javabean的get方法中进行一次编码转换(建议在javabean中进行编码转换).
    如:
    //get method
    public String getSid()
    {
       return trans(this.sid);
    }//字符类型(转中文)转换函数
    public String trans(String str)
    {
    String result = str;
    try

    result = new String(result.getBytes("ISO8859_1"),"GB2312");
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    return result;
    }
    注:你的代码我未读
      

  2.   

    我没使用到数据库。只是一个简单的javabean和xsl。但是arbeisi210() 说的也有道理。直接在javabean 里转换,便不需要在jsp里更改了。多谢了。:)
      

  3.   

    我试了你的方法,在bean中加入转换函数,但是还是没解决中文问题。只有在jsp中加入getGytes才可以显示中文。依然一刷新就变乱码
      

  4.   

    我试了你的方法,在bean中加入转换函数,但是还是没解决中文问题。只有在jsp中加入getBytes才可以显示中文。依然一刷新就变乱码
      

  5.   

    “ <%=new String(book.getSymbol().getBytes("UTF-8"),"ISO8859_1" )%> //这里不能使用GBK,否则显示乱码。”改成 <%=new tring(book.getSymbol().getBytes("UTF-8"),"GB2312" )%>试一下。
      

  6.   

    5.1 资源文件
    资源文件的编码方式和编辑平台相关。在WINDOWS平台下编写的资源文件,以GB2312方式编码。在编译时需要转码,以确保在各个平台上的正确性:
    native2ascii –encoding GB2312 source.properties
    这样从资源文件中读出的就是正确的UNICODE字符串。
    5.2 源文件
    源文件的编码方式和编辑平台相关。在WINDOWS平台下开发的源文件,以GB2312方式编码。在编译的时候,需要指定源文件的编码方式:
    javac –encoding GB2312
    JAVA编译后生成的字节文件的编码为UTF-8。
      

  7.   

    回复人:danny997(魔剑) () 信誉:100  2005-3-16 17:12:12  删除  
     
      “    <%=new  String(book.getSymbol().getBytes(  "UTF-8  "),  "ISO8859_1  "  )%  >  //这里不能使用GBK,否则显示乱码。”改成    <%=new  tring(book.getSymbol().getBytes(  "UTF-8  "),  "GB2312  "  )%  >试一下。  试过,同样是第一次可以显示中文,刷新后变乱码。你的意思是说编译时加个encoding gb2312。我再试一下。