如何将变量 character_set_results 从 latin1 设置为 uft8?我认为在 my.cnf 中添加以下变量就足够了:
default-character-set=utf8
但事实似乎并非如此:
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
有人知道如何将 character_set_results 设置为 utf8 吗?
答案1
字符集在连接时由客户端和服务器协商。
为了防止这种情况并强制客户端和服务器使用您配置的字符集:
[mysqld]
skip-character-set-client-handshake=1
default-character-set=utf8
答案2
通过这样的设置它可以工作:
[mysqld]
skip-character-set-client-handshake=1
default-character-set=utf8
问候马克
答案3
从这一页:
看来 character-set-results 和 character-set-connection 不能在配置文件的 [mysqld] 部分中设置。您必须将它们放在 [client] 部分中。
我个人没有尝试过。