MySql数据库乱码

goatherd7807 2002-06-05 12:15:10
我从表单中request.getParameter(String),取得的String插入数据库中,但不知为什么当表单中为中文字体时,插入mysql数据库的是乱码!但此时直接out.print的变量却是正常的。于是我用getBytes("ISO-8859-1"),"gb2312"重新编码,这时无论是直接out.print还是数据库中的记录均为?????.请高手指教。
...全文
59 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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,指明字符集,应该没问题了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧