zoukankan      html  css  js  c++  java
  • Windows下MySQL的my.ini文件字符集测试

    环境:Windows 8.1+MySQL 5.6.19

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

    mysql1

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

    default-character-set=utf8

    character-set-server=utf8

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

    image

    我使用的工具是MySQL Workbench

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

    image

    如使用下面这两个命令,然后你新建一个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

    mysql2

    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’),还是报相同的错误

    mysql3

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

    明天再找找原因吧

  • 相关阅读:
    Python命名空间的本质
    Jetty架构解析及应用示例
    PRML读书会第一章 Introduction(机器学习基本概念、学习理论、模型选择、维灾等)
    PRML读书会第三章 Linear Models for Regression(线性基函数模型、正则化方法、贝叶斯线性回归等)
    PRML读书会第二章 Probability Distributions(贝塔二项式、狄利克雷多项式共轭、高斯分布、指数族等)
    PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
    Mac技巧合集第二期
    Mac技巧合集第三期
    C/Java/Python/ObjectiveC在OS X上的性能实验
    程序猿崛起——Growth Hacker
  • 原文地址:https://www.cnblogs.com/cnmarkao/p/3857554.html
Copyright © 2011-2022 走看看