mysql安装目录utf8_彻底解决MySql在UTF8字符集下乱码问题

为了顺利的开发一个多语言的国际化J2EE程序,需要修改数据库字符集,我的做法如下:

安装 MySq时选择字符集为UTF-8

修改MySql安装目录下的my.ini中配置的默认编码:

该文件中有两处这样的配置:default-character-set=latin1

将这两处改成:default-character-set=utf8

新建数据库需指定字符集:

UTF8: CREATE DATABASE mmtye DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

在命令行查看字符集编码:show variables like '%char%'; 会看到如下信息:

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       | D:\MySQL\share\charsets\

以上内容在重启MySql后也一直有效,无需每次启动数据库都要指定。

A、为了在命令行下能正确查看中文,命令行下执行:

set character_set_results=gbk;

B、若需要在windows命令行执行insert、update,则执行:

set character_set_client=gbk;

A、B 两个命令重启数据库前有效,重启后就失效了。

补充:

这个只是解决了mysql的编码,但是没有解决j2ee的编码问题。

解决j2ee编码问题步骤:

1.设置mysql的字符编码为utf-8,可以在安装的时候设置,也可以用楼主的方法设置

2.设置容器的编码:比如tomcat,打开server.xml,找到8080 加速URIEncoding="utf-8"

3.设置url的字符编码。应为url传递参数默认都是iso8859-1,所以需要将头信息改成utf-8,可以自己写个过滤器修改头信息,也可以用spring现有的过滤器。

以上3点完成,这才叫彻底解决编码问题了

如果SSH2框架的话,还需要在Action中加上序列化serialVersionUID,在数据库连接的地方我常常也会加一个characterEncoding=utf-8

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-11-24 22:11

浏览 945

分类:数据库

评论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值