JAVA程序是UTF-8,生成的SQL显示正常如:insert into tablename(name,age)values('中文',22);如果用程序插入数据库中,在CMD窗口中查询出来的是???,显示在页面也是???,但是将上述SQL拷贝到CMD窗口中插进数据库,在CMD窗口中显示及在页面中显示是正常的,请高人指教,数据库连接是用jdbc:mysql://127.0.0.1:3306/mydata?useUnicode=true&characterEncoding=UTF-8
调试欢乐多
String str1 = null;
try {
str1 = new String(str.getBytes("iso8859_1"), "utf-8");
} catch (Exception e) {
e.printStackTrace();
} return str1;
}
把从表单接收过来的数据再用这个方法转一下编码。应该就好使了。
String str=this.Set(request.getParameter("name"));
然后把str插入数据库
(二楼的方法)转换。
现在问题是已生成的SQL语句可以正常的显示汉字,只是插入时出现问题而已.请教~!
注意后面的utf8.另外确保数据库及表的属性是utf8并且你没有用过滤类吧。如果用了过滤类先去掉。