论坛首页 入门技术论坛

非新手,数据写入时的乱码问题,请多看一眼

浏览 3312 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-05-30  
做过几个Spring+Hibernate的东西,应该不算很菜的新手了,但是还是遇到了令人困惑的问题,如下:
业务:用户上传文件,并有描述信息,信息和文件都保存在数据库中,应该很简单
平台:Linux+Mysql+Tomcat(开发平台是Mac,不过好像与这个无关)
环境:源码编码utf8,数据库utf8,加有字符串编码过滤器utf8,完全的utf8环境
连接字符串:jdbc:mysql://localhost/Kusing?useUnicode=true&characterEncoding=UTF-8
结构:
利用Spring MVC和Spring的IOC,并由Spring管理Hibernate的事务等,基本上是教科书版的Spring+Hibernate
View:  JSP with JSTL
Controller: extends from SimpleFormController
Model: 一个logic接口,及一个实现类
DAO:  extends HibernateDaoSupport

现象:
对logic进行单元测试,保存数据没有问题
从web页上传文件,描述信息为中文,在Controller打印到日志中文正常,在Model实现类中打印到日志中文仍正常,model中直接调用了dao.save方法,基本无其它操作,查看数据库中内容为乱码,页面再次读取该内容也乱码,但如果手工将数据库中内容修改为正确的中文,在页面读取查看也正常

事情基本上就是这样了,请各位帮忙看一下,困扰很久了(还好只是做来玩的东西……),不得其解,如果有表述不完整的地方请提出来

ps.在其它同样使用spring+hibernate的项目里却没有这样的问题出现,但是项目连lib目录都是一样的
   发表时间:2007-05-30  
0000 写道
jdbc:mysql://localhost/Kusing?useUnicode=true&characterEncoding=UTF-8

是不是应该这样(useUnicode=true&characterEncoding=UTF8  )写呢?是不是没有起作用?你在mysql的安装目录下的my.ini文件中把默认字符改成utf8( default-character-set=utf8)试试
0 请登录后投票
   发表时间:2007-05-30  
试试...=utf8
0 请登录后投票
   发表时间:2007-05-30  
刚出去觅食回来~

偶是写的&被转成&了……

用characterEncoding=utf8还是一样~~涛声依旧啊

至于mysql,其它项目也是在偶这台机器上做的,都没问题……
0 请登录后投票
   发表时间:2007-05-30  
呀!!
行了!!!

不过很奇怪~~~我把链接字符串里的useUnicode=true去掉就ok了……
0 请登录后投票
   发表时间:2007-05-30  
0000 写道
呀!!
行了!!!

不过很奇怪~~~我把链接字符串里的useUnicode=true去掉就ok了……


这样也行呀,怪了,
0 请登录后投票
   发表时间:2007-05-31  
据说被评为新手帖……也罢,反正积分对我没什么用
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics