【发布时间】:2012-10-19 05:45:41
【问题描述】:
show variables:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server latin1_swedish_ci
插入的数据是 UTF-8 并在数据库中正确显示,html 标头设置为 utf-8,元标记设置为 utf-8。网站上的所有内容(不是来自数据库)都正确显示),只是不是来自数据库的内容。
连接(PDO):
$pdo = new PDO("mysql:host=$hostname;dbname=$database;charset=utf8",$username,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
所以,我认为它与 show variables 的输出有关,因为它表明服务器的字符集和排序规则不是 utf-8?但是,我在同一本地服务器上运行其他站点没有任何问题。知道我在哪里可以找到正确的方法吗?
【问题讨论】:
-
SET NAMES utf8已弃用,您已经将其作为字符集参数传递,请尝试不使用该参数。 (但如果它还没有解决您的问题,请不要再次添加)。 -
@hakre:感谢您的帮助,现在可以使用了。您要发布答案以便我接受吗?