100分求乱码的问题,很急,请大家帮忙

jayqian 2004-06-18 07:00:00
我用hibernate+struts,tomcat,mysql做的系统
现在写到数据库里的中文是乱码,显示为

繦嬿
跢鯨補
詢5?倻8徉
? 1P 胞 I

之类的乱码,还能正常显示为中文?或者肯定是数据丢失了,丢失我就完了,请大家帮帮忙,指条明路,谢谢
...全文
226 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
clingingclinging 2004-07-01
  • 打赏
  • 举报
回复
在jsp页面里加入标签<%@ taglib uri="http://java.sun.com/jst1/fmt"prefix="fmt"%>
在使用<fmt:requestEncoding value="gb2312"/>再把JSTL1.0库引进来,绝对可以!
eclipse0016 2004-07-01
  • 打赏
  • 举报
回复
兄弟,看你够郁闷的。帮你顶,自有高手能帮你解决。
CsdnRob 2004-07-01
  • 打赏
  • 举报
回复
1.我原来就用的"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"; 2.因为这个框架我一直用,原来没问题的,都是sqlserver下,这回mysql下用,所以没注意 3.现在客户的数据都已经写到数据库了,我现在就是要把他们正常显示出来,所以不存在重装数据库等可能 4.转几次码的方法,看来是可能的,谁知道该怎么转
jayqian 2004-06-21
  • 打赏
  • 举报
回复
1.我原来就用的"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK";
2.因为这个框架我一直用,原来没问题的,都是sqlserver下,这回mysql下用,所以没注意
3.现在客户的数据都已经写到数据库了,我现在就是要把他们正常显示出来,所以不存在重装数据库等可能
4.转几次码的方法,看来是可能的,谁知道该怎么转
mmhhllRen 2004-06-20
  • 打赏
  • 举报
回复
数据库是乱码,可能是数据库问题。看看本机字符集和服务器上相同吗?
弄不好重装数据库。
bistar 2004-06-20
  • 打赏
  • 举报
回复
UP
jspxnet 2004-06-20
  • 打赏
  • 举报
回复
1.先找出,如何保存到数据库不是乱码.
2.找出,取出不是乱码.
3.保证显示不是乱码.
4.ok
liyong33 2004-06-20
  • 打赏
  • 举报
回复

  答:将 connectionString 设置成 encoding 为 gb2312

  String connectionString
  = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312";
其中test是数据库,这个方法可以解决数据库是乱码的问题.
如果还有其它的问题,请继续发贴,或发邮件至liyong_2003@hotmail.com
dilidilidi 2004-06-20
  • 打赏
  • 举报
回复
告诉你个思路,你自己去做,肯定行的
中文数据一般的流程是这样的jsp-》servlet-》javabean-》数据库,这是写数据库的流程,反过来是读的过程,你要确定在每个环节上你都确切的知道他的编码方式,比如说,你的jsp页面是gbk,但是你的bean里是iso-8859-1,那么你就要进行iso-8859-1到gbk的数据编码方式转换,这样你的jsp就能正常显示。特别要注意数据库,因为是第3方的产品,所以他们的编码固定的,你只能配合他们的编码方式。多查查资料,肯定行的
jayqian 2004-06-20
  • 打赏
  • 举报
回复
数据库里是乱码,取出来也是乱码...郁闷啊
2312->GBK试过了,不行啊
dilidilidi 2004-06-19
  • 打赏
  • 举报
回复
你的乱码是在数据库里还是在jsp里?
whw192 2004-06-19
  • 打赏
  • 举报
回复
老兄你确实郁闷,我的用mysql+tomcat+hibernate玩时好像没有进行转码,也没有出现乱码,在oracle 中出现过乱码,不过用你的方法解决了
shuneng 2004-06-19
  • 打赏
  • 举报
回复
new String(temp.getBytes("gb2312"),"GBK");
cfan246 2004-06-18
  • 打赏
  • 举报
回复
其实有时候数据库里是乱码,你取出来不一定是乱码,而且没有问题
javaCandelaboy 2004-06-18
  • 打赏
  • 举报
回复
对了,不知道可以设置数据库的编码格式吗?我这边也有这个问题,我用mssqlserver,取出之后转换后正常了,但是我旁边的两台机器不转换都正常的,不知道我怎么样设置数据库的编码格式,使其取出后正常呢?
jayqian 2004-06-18
  • 打赏
  • 举报
回复
这个我明白,我试过了
new String(temp.getBytes("iso8859-1"),"GBK");
new String(temp.getBytes("UTF-8"),"GBK");
都转不回来,怎么办
TIANHEI 2004-06-18
  • 打赏
  • 举报
回复
从数据库去出来之后的转换字符编码
thebear810611 2004-06-18
  • 打赏
  • 举报
回复
是因为数据库的默认编码跟你所得的字符串的编码不一致造成的,用new String("源字符串".getBytes(),"目标字符串的编码")转换字符串的编码就可以了!

62,614

社区成员

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

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