当我在MySQL中运行SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'
时,我得到以下变量:
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时都不必不断指定mysql_set_charset('UTF8');
?