设为首页 收藏本站
查看: 690|回复: 0

[经验分享] Windows下MySQL的my.ini文件字符集测试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-21 09:02:12 | 显示全部楼层 |阅读模式
环境:Windows 8.1+MySQL 5.6.19
首先要说明的是Windows下MySQL的my.ini所在位置为:盘符\ProgramData\MySQL\MySQL Server 5.6下,也就是下图的Data Path下,如果是系统盘,ProgramData的文件夹是隐藏的;非系统盘此文件不是隐藏的.并不是Program Files下的。
202348399743952.jpg
2,查看my.ini文件,默认安装的编码都是utf8的。
default-character-set=utf8
character-set-server=utf8
可以通过show variables like ‘%character_set_%’
202348409747779.jpg
我使用的工具是MySQL Workbench
3.在Workbench中修改字符编码只对这个连接有效(再在这个workbench中新建一个SQL tab也是有效的,我把这个新SQL tab叫做会话,自己这样定义的,和官方上说的连接和会话不一定相同)
202348418187122.jpg
如使用下面这两个命令,然后你新建一个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
202348430534178.jpg
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’),还是报相同的错误
202348439904492.jpg


搞不明白为什么服务器上的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,那中文是怎么插到表里的?应该也不是加密的,因为同一张表里其他字段的值是可以看到的。
明天再找找原因吧



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22407-1-1.html 上篇帖子: sqoop 从mysql导入hive的字段名称问题 下篇帖子: 删除mysql的binlog日志 Windows
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表