PHP / MySQL连接的默认字符集在哪里?

我使用mysql_connect来完全定义在UTF-8中的数据库。 我可以在configuration中看到任何地方,我看到UTF-8 Unicode (utf8)utf8_general_ci

但是,当我打开PHP连接,然后使用echo mysql_client_encoding(); ,我得到了latin1作为输出,这是非常意外的。 它是从某种PHP / Apacheconfiguration?

在/etc/mysql/my.cnf在[client]

 default-character-set=utf8 

你必须为PHP MySQL连接设置编码,因为它不会从你的表/数据库定义中读取它。 像这样做:

 mysql_set_charset('utf8',$link); // or in OOP style: $mysqli->set_charset('utf8');