查看字符集和校对准则
注意:MySQL 中的 utf8
不是 utf-8
字符集
mysql> show variables like'%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.04 sec)
校对准则
mysql> show variables like'%character%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
3 rows in set (0.01 sec)
修改配置文件
我的 mysql 配置文件是在 /etc/my.cnf
,你们需要找到自己的 mysql 配置文件。
~$ vim /etc/my.cnf
Client
在文件中找到
[client]
default_charcter_set = utf8mb4
[mysql]
default_charcter_set = utf8mb4
这是用户端和 mysql 的编码,utf8mb4
就是我默认的编码,可以改成你们需要的编码。
Server
服务端的如果有需求可以找到你的 DBA 了解情况后自己配置。
default_charcter_server = 你的编码
init_connect = 'SET NAMES 你的编码'
character_set_client_handshake = False
# 你自己的编码
其中 collation_server = utf8mb4_unicode_ci
的 _ci
表示创建表时大小写不敏感, _cs
表示大小写敏感。