查看办事器字符集设置
mysql> SHOW VARIABLES WHERE Variable_name LIKE'character%'OR Variable_name LIKE'collation%';
+--------------------------+--------------------+
| 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 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
查看数据库字符集
mysql> select * from SCHEMATA;
mysql> SHOW VARIABLES WHERE variable_name LIKE 'char%' OR variable_name LIKE 'collation%';
查看表字符集
mysql> select TABLE_SCHEMA, TABLE_NAME, TABLE_COLLATION from information_schema.TABLES;
查看列字符集
mysql> select * from information_schema.COLUMNS;
解决方案一:从应用程序层面解决:
a、修改 my.cnf或者mysql.ini (my.ini的位置可以参考MySql各种版本中My.ini的位置(可通过“regedit”打开注册表获取))
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
b、设置数据库全局参数、数据库、表、字段等字符集:
Step 1. 设置MySQL全局参数为utf8mb4
mysql> set character_set_server=utf8mb4
Step 2. 设置库的字符集为 utf8mb4
mysql> ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Step 3. 设置表的字符集为 utf8mb4
mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Step 4. 设置字段的字符集为 utf8mb4
mysql> ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
c、如果是Java程序,mysql-connection.jar版本需要高于5.1.13,不然仍然不克不及试用utf8mb4;
d、重启 MySQL Server、检查字符集;
Step 5. 最后检查一下你的链接字符串是否也指定编码体例,一并修改就好了。
更多内容回复查看:
游客,如果您要查看本帖隐藏内容请回复