当我SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'
在 MySQL 中运行时,我得到以下变量:
Variable_name Value
character_set_client utf8
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8
character_set_server utf8mb4
character_set_system utf8
collation_connection utf8mb4_unicode_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_general_ci
但是,当我运行一个简单的测试以在 PHP 中连接到 MySQL而不设置任何编码时,mysql_client_encoding()
返回latin1
,但在 MySQL 字符集中找不到该编码。
为什么会发生这种情况,我该如何解决它,这样我就不必在mysql_set_charset('UTF8');
每次连接到 MySQL 时都不断地指定?