做过几个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目录都是一样的
评论
0000 2007-05-31   回复
据说被评为新手帖……也罢,反正积分对我没什么用
hgq0011 2007-05-30   回复
0000 写道
呀!!
行了!!!

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


这样也行呀,怪了,
0000 2007-05-30   回复
呀!!
行了!!!

不过很奇怪~~~我把链接字符串里的useUnicode=true去掉就ok了……
0000 2007-05-30   回复
刚出去觅食回来~

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

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

至于mysql,其它项目也是在偶这台机器上做的,都没问题……
itea 2007-05-30   回复
试试...=utf8
hgq0011 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)试试
发表评论

该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子

0000
搜索本博客
博客分类
最近加入圈子
存档
最新评论