彻底解决MySql在UTF8字符集下乱码问题 - mysql

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

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

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

UTF8: CREATE DA TABASE 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的乱码问题,总结了一下几个处理方法:

1:改变数据库的默认编码配置,在MYSQL的安装目录中,找到my.ini,修改默认编码为:default-character-set=utf8

2:建立数据库时,CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE

utf8_general_ci;

3:执行脚本:指定编码格式set names utf8(注意,不是UTF-8)

4:如果你采用的是外部接入的方式,在连接中确定请求的编码格式如:

jdbc:mysql://localhost:3306/ms_db?useUnicode=true&characterEncoding=U TF-8(不要出现任何空格,否则出错)

相关文档
最新文档