http;//j.topcool.net/ittraining/ittraining1.htm

解决方案 »

  1.   

    (opendb.java)去掉这行代码:sql= new String(sql.getBytes("GBK"),"ISO8859_1");
      

  2.   

    你先要进行转换,longjava(青春向往) 说的对!
      

  3.   

    (opendb.java)去掉这行代码:sql= new String(sql.getBytes("GBK"),"ISO8859_1");
     我都去掉了,怎么还是乱码啊!!!!
     大侠。哭。
     是不是,我的str bean 的问题啊!!!
    但是在我转化的时候前台显示出来的就不是乱码,到我插到数据库的时候就会乱码了
    郁闷
      

  4.   

    str.java代码如下:
    package mybean;
    public class str
       {
        public static String getstr(String s)    {
            String aaa;
            try
            {
                byte a[] = s.getBytes("ISO-8859-1");
                aaa= new String(a);
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
            return aaa;
        }
    }
    应该是这样吧!试试看!
      

  5.   

    getParameter之前
    request.setCharacterEncoding("gb2312");另外getParameter已经是返回String的,不需要转型
      

  6.   

    如上,通过网络传来的数据编码格式为iso-8859-1编码,但是sqlserver假如连接不设定编码格式的话,取系统默认编码,即gbk编码,所以传入服务器的sql语句必须为gbk编码,所以sql=new String(sq.getBytes("iso-8859-1"),"gbk"),肯定可以,至少写入数据库的数据库不会出现乱码了,至于出来的数据是什么编码格式,忘了,sqlserver好像是gbk编码,所以假如你的页面设为了gbk编码的话,那么就不用转化了
      

  7.   

    并且都没有用这句sql= new String(sql.getBytes("GBK"),"ISO8859_1");
    都可以解决你的问题!
      

  8.   

    但是不要作为灵丹妙药,不同的JDBC驱动是不一样的,要试才可以
      

  9.   

    最好设置为UTF-8,同时设置一request到action的filter,encoding也设为UTF-8.这样就可以国际化了,管什么GB2312,当然DB要支持你要的语言.
    但我遇到另一问题,
    就是-----------------
    有谁知道如何解决struts里的File元素提叫中文档名的乱码问题啊?
    我连人带分一起送了!
      

  10.   

    谢谢各位大侠,特别谢谢 sky126(叮咚)