mysql my.ini 字符集_Windows下MySQL的my.ini文件字符集测试

环境:Windows 8.1+MySQL 5.6.19

首先要说明的是Windows下MySQL的my.ini所在位置为:盘符\ProgramData\MySQL\MySQL Server 5.6下,也就是下图的Data Path下,如果是系统盘,ProgramData的文件夹是隐藏的;非系统盘此文件不是隐藏的.并不是Program Files下的。

6e1f12311541be182262d21fd4878f9d.png

2,查看my.ini文件,默认安装的编码都是utf8的。

default-character-set=utf8

character-set-server=utf8

可以通过show variables like ‘%character_set_%’

7507e601842fdcfaaf804270233d13f1.png

我使用的工具是MySQL Workbench

3.在Workbench中修改字符编码只对这个连接有效(再在这个workbench中新建一个SQL tab也是有效的,我把这个新SQL tab叫做会话,自己这样定义的,和官方上说的连接和会话不一定相同)

ee830ee273292147e217b6a750fb2b6c.png

如使用下面这两个命令,然后你新建一个SQL tab查看character_set_server和character_set_database也是变成’lantin1’

set @@character_set_server='latin1'

set @@character_set_database='latin1'

你把这个workbench退出,或者说断开连接,再执行show variables like ‘%character_set_%’,会发现刚刚character_set_server和character_set_database又会变成utf8.

4.在my.ini修改字符编码后,重启服务才能生效

在my.ini中把character-set-server=utf8修改为latin1,重启服务后,使用show variables like ‘%character_set_%,character_set_server和character_set_database都会=latin1

198f4986f0dfc393ad4e93a2ab758b1d.png

5.接着第4步,修改完latin1后,创建一个表并插入数据

create table dept_test

(

dept_no int primary key,

dept_name varchar(20) not null

);

#插入英文是OK的

insert into dept_test values(10,'test');

#插入中文就报错

insert into dept_test values(20,'测试2')

再次修改my.ini,把character-set-server设置为utf8,重启mysql服务

再次插入(20,’测试2’),还是报相同的错误

ec8e7da7691d4fc2fa1eec50036adda6.png

搞不明白为什么服务器上的MySQL了,我使用Workbench连接服务器上的MySQL,使用show varables like ‘%character_set_%’发现character_set_server和character_set_database都是latin1,查询部分表中有乱码,乱码999/1000都是中文,我使用set @@character_set_server=utf8且set @@character_set_database=utf8后,select查询还是乱码。如果安装MySQL时编码就是latin1,那中文是怎么插到表里的?应该也不是加密的,因为同一张表里其他字段的值是可以看到的。

明天再找找原因吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值