一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:
+
--------------------------+----------------------------+
| Variable_name | Value |
+
--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem |
binary
|
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/|
+
--------------------------+----------------------------+
character_set_database和character_set_server的默认字符集还是latin1。
二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节)
在[mysqld]字段里加入
character
-
set
-server=utf8,如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character
-
set
-server=utf8
修改完成后,service mysqlrestart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库
编码全已改成utf8。
+
--------------------------+----------------------------+
| Variable_name | Value |
+
--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/|
+
--------------------------+----------------------------+
三: 如果character-set-client 不为utf8,增加如下设置:
[client]
default-character-set=utf8
四: 如果character_set_filesystem不为utf8, 增加如下设置:
character-set-filesystem = utf8