1.关于MySQL字符集
MySQL的字符集支持(CharacterSet Support)有两个方面:
字符集(Characterset)和排序方式(Collation)。
MySQL对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。
2.查看MySQL字符集
2.1.查看字符集的设置
mysql>show variables like 'character_set_%';
ps:最让人揪心的是以下标红的部分,无论你在命令行怎么修改重启服务后总会变成”latin1”
下面将提到这个问题
2.2.查看字符集排序设置
mysql>show variables like 'collation_%';
3.修改MySQL字符集
说到修改就不得不说两种修改方案
a. 临时修改
通过命令行修改.如果你选择这种方案开始纠结吧.执行后暂时确实修改成功了,但是大多数情况下我们需要重启服务器,一旦重启服务器你的努力就白费了,所以不推荐这种方法
b. 永久修改
找到你的mysql的安装目录下的my.ini文件(ps:有的解压版文件名为my-default.ini 修改下就ok)
3.1修改服务器级别字符集
a.临时修改
mysql>SETGLOBAL character_set_server=utf8;
b.永久修改
打开/etc/mysql/my.cnf,在[mysqld]后添加character-set-server=utf8
找不到[mysqld]就自己写 #后面的部分为注释掉的相当于Java的”//”注释让代码不生效
3.2修改数据库级
a. 临时更改
mysql>SETGLOBAL character_set_database=utf8;
b. 永久更改
改了服务器级就可以了
3.3修改表级
mysql>ALTERTABLE table_name DEFAULT CHARSET utf8; 更改了后永久生效
3.4修改列级修改示例
mysql>ALTERTABLE `products` CHANGE `products_model` VARCHAR( 20 ) CHARACTER SET utf8COLLATE utf8_general_ci NULL DEFAULT NULL;更改了后永久生效
3.5更改连接字符集
a.临时更改:mysql>SET GLOBAL character_set_client;
c. 永久更改:打开/etc/mysql/my.ini,在[client]后添加default-character-set=utf8
[client]这个我在自己的解压版mysql上真心没找到 然后根据网上对于my.ini文件的解释然后自己写上的[client]