消除从MySQL数据库中读出中文的乱码
分为两个目标: step1: 从MySQL客户端查看中文正常, step2: 从网页中查看中文正常;
1: 在用SQL脚本创建数据库前,设置MySQL的默认编码方式为“gb2312”,
此步可以在mysql-administrator-1.1.0-rc-win.msi中完成,或者是MySQL Server向导;
这样设置完毕后再用SQL 脚本创建数据库, 注意如果SQL脚本中有设置字符集为latin1或utf-8的语句,一定要删除。
已发现目前版本《在线书店》中的SQL脚本中带有设置默认字符集为latin1,一定要删除!
创建数据库完毕后,用MySQL CC或MySQL Admin可检查所创建的数据库的字符集,如果正确,则用MySQL CC或MySQL Admin都可以正常查看中文;
2: 一般情况下,到这一步,在网页中已经基本能正常显示中文了,但凡事总有例外,可以在数据库连接串处再特别说明一下:
String url ="jdbc:mysql://localhost/BookStore?useUnicode=true&characterEncoding=gb2312";
conn=DriverManager.getConnection(url,"root","");
一般情况下用 String url ="jdbc:mysql://localhost/BookStore"应该就能正常显示中文。
总结:修改MySQL Server数据库默认字符集为“GB2312”,从MySQL读出中文可正常显示;