日期:2014-05-18  浏览次数:20813 次

这个问题困扰了 快一个月了!
使用myecipse4.1 开发jsp与数据库mysql的 增. 查. 操作!
 我查如中文时在数据库中显示乱码 把数据中的中文数据查询出来也显示乱码 
    IDE和MYSSQL我都使用默认编码 页面我使用gbk编码 
     请问这个问题怎么解决? 谢谢大家

------解决方案--------------------
那是你数据库中的数据就是乱码!应该考虑在插入的时候就应该转变成中文!
------解决方案--------------------
转码 行不行?
或者全部用Utf-8
------解决方案--------------------
全部使用 utf8 编码,可以解决这个问题
------解决方案--------------------
注意数据库链接字符串
jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=GBK
------解决方案--------------------
characterEncoding

按樓上的試試。
------解决方案--------------------
乱码问题是常见问题了,具体机制我也不太清楚,我只知道,所有涉及编码的东西,全部用utf-8,就可以解决了
------解决方案--------------------
你的mysql的版本是什么?我用的5.0的就没有这个问题
------解决方案--------------------
1:用户页面输入“中文”采用UTF-8编码 "e4b8ad e69687 "

2:TOMCAT将其转换为ISO8859-1表示 "e4 b8 ad e6 96 87 "六个字节

3:JAVA程序中获取提交参数String str = getParameter( "name "); 认为发送来的数据是以ISO8859-1编码 "e4 b8 ad e6 96 87 ",然后将其转换为JAVA内部的Unicode编码 "00e4 00b8 00ad 00e6 0096 0087 "并赋给str.(可以使用request.setCharacterEncoding( "UTF-8 ")来指定编码统一过滤)

4:str.getBytes( "ISO8859-1 " )获得使用ISO8859-1解码str的字节数组 "e4 b8 ad e6 96 87 ";new String( str.getBytes( "ISO8859-1 " ), "utf-8 " )使用utf-8给字节数组从新编码 "e4b8ad e69687 ",并将其转换为Unicode "4e2d 6587 ";转码过程完毕。

这个过程中有错误吗?

------解决方案--------------------

mysql默认编码8859-1;
你需要先把mysql的默认编码改成gb2312或utf-8,主要根据你的整体~

我习惯都使用utf-8,IDE环境,mysql,mysql连接,jsp等等都使用utf-8,这样出现乱码的机会比较小。