MySql数据库乱码

goatherd7807 2002-06-05 12:15:10
我从表单中request.getParameter(String),取得的String插入数据库中,但不知为什么当表单中为中文字体时,插入mysql数据库的是乱码!但此时直接out.print的变量却是正常的。于是我用getBytes("ISO-8859-1"),"gb2312"重新编码,这时无论是直接out.print还是数据库中的记录均为?????.请高手指教。
...全文
26 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Andrawu 2002-06-05
注意你的jsp页中要加:
<%@ page contentType="text/html;charset=gb2312"%>
回复
Andrawu 2002-06-05
1、"但此时直接out.print的变量却是正常的,"你应该对request.getParameter(String)得到的中文数据进行过getBytes("ISO-8859-1"),"gb2312"的编码。对于表单提交的中文数据是要经过编码才能正常显示的。
2、既然你得到的中文数据是正常的,插入mysql数据库时应该也是正常的,不知在mysql中有没有有关字符集的包文件进行内码的转换,就象oracle中的nls_charset12.zip文件,如果有你将此包的路径加到classpath中。
3、既然你得到的中文数据,不要再用getBytes("ISO-8859-1"),"gb2312"重新编码,这样当然无论是直接out.print还是数据库中的记录均为?????.

你仔细的查查看。
回复
sundust 2002-06-05
con = DriverManager.getConnection("jdbc:mysql://serverName/dbName?user=userName&password=pass&useUnicode=true&characterEncoding=GBK");

加上这个东东,characterEncoding=GBK,指明字符集,应该没问题了

回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2002-06-05 12:15
社区公告
暂无公告