再谈mysql中文乱码

来源:互联网 发布:交换机uplink端口作用 编辑:程序博客网 时间:2024/05/09 09:34

 一直使用mysql保存数据都没有什么问题,但最近做了个新的博客项目后,保存的中文总是乱码,但在后台用中文保存没有问题,只要用jsp页面输入servlet接收处理后,存入mysql数据库后就会出现中文乱码。郁闷不得其解就上网去搜,网上各种答案总总,看得人眼花缭乱,急病乱投医。刚入门的编程爱好者就在那瞎折腾了。我经过测试认为做好以下几个方面就可以避免中文乱码的问题。

1、把所有的开发工具、数据库等的编码格式能改成utf-8的就改成utf-8;

2、把mysql安装目录下的my.ini文件中的default-character-set=的值改为UTF8,不是UTF-8。在此文件中一共有两处,都改为UTF8,很关键。

3、修改完mysql安装目录下的my.ini文件后,一定要重启mysql,否则不生效。呵呵,这是好多人,特别是新手不注意的地方。

4、在web服务器(我使用的是tomcat6.0)中,把 <Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />加入URIEncoding="UTF-8"。这一步不是必须的,但最好这样设一下,它能保证你从url中获取的信息的中文不乱码。特别是通过doGet()方法传过来的参数。

5、在jsp页面中的信息传入servlet处理页面中一定要加入request.setCharacterEncoding("UTF-8");这句编码。它可以保证存入mysql中的中文信息不乱码。

通过以上的几步就可以保证你的mysql不会出现乱码。其实网上解决mysql中文乱码的文章很多,其实万变不离其宗,只要胆大心细的多动气去做都一定能做好。以上只是本人在开发中的一点心得,也许能帮上你的忙,(很高兴)也许不能(呵呵,不好意思)。仅此文章与大家共勉,写得不对的请大家多指正。

原创粉丝点击