Eclipse MySQL Hibernate 中文乱码问题 解决方案 心得

在用Eclipse开发Web项目时,遇到了中文乱码的问题 ,经过同事的耐心帮助、网上资料的查询和自己的分析,终于解决了。


问题解决给我带来的心得是:关键是要确定问题是出在了哪个环节。


造成中文乱码的原因可能Eclipse开发环境中,也可能是出在了Hibernate存取数据时,也有可能是数据库的系统编码问题。


如果是Eclipse的问题,那就对以下各项进行设置,即可排除问题。

设置eclipse相关编码为UTF-8:
修改工作区默认编码,位置:windows--perferences--general--workspace
修改JSP文件默认编码,位置:windows--perferences--web--jsp files
修改JSP文件默认编码,位置:windows--perferences--general--content types--text--jsp file
修改配置文件默认编码:位置:windows--perferences--general--content types--text--java properties file
设置自动格式化代码:选中format source code--format all lines,位置:windows--perferences--java--editor--save actions


如果是问题是在Hibernate读写数据时,

要对hibernate连接数据库的xml配置文件添加两项:

<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">utf8</property>

或者对连接的url增加参数,如下:

<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
</property>


问题也可能是数据库的事,我这次都是因为MySQL的系统编码不对造成的。

网上说MySQL默认的字符集不是utf8,而是latin2,它是在C:\Program Files\MySQL\MySQL Server 5.1下的my.ini文件中体现的,我们可以对其修改,将两处default-character-se的值改为utf8即可(注意不是utf-8)。改后,重启一下MySQL的服务,在开始菜单的MySQL命令行客户端(MySQL command Line client)输入

SHOW VARIABLES LIKE '%character_set_%'

如果显示

character_set_client, utf8
character_set_connection
, utf8
character_set_database
, utf8
character_set_filesystem
, binary
character_set_results
, utf8
character_set_server
, utf8
character_set_system
, utf8
character_sets_dir
, E:softProgrammysqlmysql-5.0.22-win32sharecharsets


则表示修改默认字符集为utf8成功


实在很感谢csdn里一位兄台的文章:http://blog.csdn.net/qking93415981/article/details/1753248

附带一篇好文章 《 Java字符编码知识简介》  :http://tolywang.itpub.net/post/48/465103

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值