如果客户端没有指定,MySQL 中默认使用的连接字符集是什么

如果客户端没有指定,MySQL 中默认使用的连接字符集是什么

MySQL 5.5 的当前变量是

 show variables like "%char%";
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

如果客户端连接到此数据库,但没有使用诸如指定字符集SET NAMES LATIN1,它将使用什么字符集?

答案1

character_set_database 这将是默认设置,假设您在创建原始数据库时没有提到字符集。

来自评论对话的更新:
客户端的连接字符集将使用 character_set_client 的值。在此特定情况下为 utf8。

当然,这只会影响客户端如何处理字符串。

相关内容