jsp连数据插入总有乱码问题
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....输出是??? 插入数据也是???
求大虾帮下小弟!.在线等.
------解决方案--------------------你用的什么web服务器?可以在web.xml中加过滤器,网上有很多这个过滤器的配置例子。
------解决方案--------------------首先要明确你servlet中原先的编码是什么,按你的现状原来的编码肯定不是ISO8859-1,对不是此类的编码你采用ISO8859-1对他取字节数组,然后再用gb2312编码则之后形成的肯定是乱码。
解决方法:察看你的数据来源(一般是你的jsp页面)的编码,如果是gb2312,就不需要用
sql = new String(sql.getBytes( "ISO8859-1 "), "GB2312 ");
直接赋值即可
如果是其他的编码,比如是utf8
则要改成
sql = new String(sql.getBytes( "utf8 "), "GB2312 ");
------解决方案--------------------最好把JSP,数据库,参数 的编码统一.编码这块确实挺烦人的.