2

我试图将网站转换为 UTF-8。为此,我将 PHP 文件转换为 UTF-8,添加一个header('Content-Type: text/html; charset=utf-8'),添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />到 HTML 标头,将 mysql 表内容转换为 utf-8 (ALTER ...),并将 MySQL 连接编码设置为 utf- 8.

现在,一切似乎都很好,但有时 IE8、Firefox 和 Chrome 会显示 - 而不是德语变音符号。IE9 根本没有显示这个问题。

刷新后,问题解决了,但过一会或几次刷新后�再次出现,....

有任何想法吗?

4

2 回答 2

0

通常这种行为是由 IE 的 quirks 模式引起的。如果您的页面不是有效的 HTML,浏览器可以退回到 quirksmode,您可以检查此按 F12 以显示开发人员工具栏。

如果显示的模式是 quirksmode,您可以通过编写有效的 HTML 来解决您的问题。有可用的离线和在线 HTML 验证器

如果显示的模式与您的浏览器匹配,那么您可以使用W3-checker来查找您的页面编码问题。

编辑:

还要确保在使用连接对象之前设置它的编码。您写道您将 MySQL-connection 设置为 utf-8,但您没有写出您是如何做到的。

// tells the mysqli connection to deliver UTF-8 encoded strings.
$db = new mysqli($dbHost, $dbUser, $dbPassword, $dbName);
$db->set_charset('utf8');
于 2012-11-29T12:46:33.707 回答
0

好的,我知道了!

问题是,嵌入式广告服务器(OpenX)更改了 mysql 客户端编码。

现在,我在执行“view_local”后将字符集设置回 UTF-8,现在一切似乎都很好!

感谢您的支持,帮助我找到了这个问题的根本原因!

于 2012-12-07T11:15:46.500 回答