我的网站上有一个 UTF8 问题,我无法解决(也无法理解)。当我使用...
$mysqli->set_charset('utf8');
...在我的网站空间上,特殊字符显示不正确。当我删除这个函数时,数据库查询中的所有特殊字符都会正确显示。在我的本地系统上是相反的(没有 set_charset('utf8') 字符不会以正确的方式显示)
我还制作了一个测试脚本,看看这是否是我的虚拟主机的问题。该测试在我的网站空间和本地运行正常。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$db = new mysqli( bla bla );
$db->set_charset('utf8');
$sql = "SELECT pages_title
FROM pages
WHERE pages_title = 'Günstige Tablet PCs'";
$result = $db->prepare( $sql );
$result->execute();
$result->bind_result( $title );
$result->store_result();
$result->fetch();
$result->free_result();
echo "Title: ". $title;
现在我已经没有问题可能出在哪里的想法了。一切都设置正确:
- 数据库本身设置为 utf8-general-ci
- 文件采用 UTF8 格式。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
已设置。
因为测试脚本运行正确,所以问题应该在我的代码中,但我不知道是什么导致了错误,因为我没有对 utf8_encode/decode 或类似的东西做任何事情。
有任何想法吗??谢谢!!