javaBean的内容
String sql = "insert into userinfo(UserName) values
('" + user.getUsername()+ "')"
sql = new String(sql.getBytes("ISO8859-1"), "GB2312");
System.out.println("cccc"+sql); ---这里输出的语句内容是中文
int i = db_conn.sm.executeUpdate(sql); --但到这里
出错.且不能插入数据
Incorrect string value: '\xB7\xA8\xB0\xB8' for column 'UserName' at row 1例2
内容是从servlet收到且每个数据经过.getBytes("ISO8859-1"),"gb2312");
传到上边javaBean里的sql.getBytes("ISO8859-1"),"gb2312");处理过后
在System.out....输出是???  插入数据也是???求大虾帮下小弟!.在线等.

解决方案 »

  1.   

    你用的什么web服务器?可以在web.xml中加过滤器,网上有很多这个过滤器的配置例子。
      

  2.   

    首先要明确你servlet中原先的编码是什么,按你的现状原来的编码肯定不是ISO8859-1,对不是此类的编码你采用ISO8859-1对他取字节数组,然后再用gb2312编码则之后形成的肯定是乱码。解决方法:察看你的数据来源(一般是你的jsp页面)的编码,如果是gb2312,就不需要用
    sql = new String(sql.getBytes("ISO8859-1"), "GB2312"); 
    直接赋值即可如果是其他的编码,比如是utf8
    则要改成
    sql = new String(sql.getBytes("utf8"), "GB2312");
      

  3.   

    最好把JSP,数据库,参数 的编码统一.编码这块确实挺烦人的.