【发布时间】:2011-04-22 08:49:14
【问题描述】:
我正在从 mysqlDb 将文章从我的博客检索到我的网站。文章在博客上显示得很好,但在网站上,一些字符,如 ţ、ş、ă 等被替换为内部带有问号的黑色方块。我在文档上设置了与博客上相同的“UTF-8”。
【问题讨论】:
我正在从 mysqlDb 将文章从我的博客检索到我的网站。文章在博客上显示得很好,但在网站上,一些字符,如 ţ、ş、ă 等被替换为内部带有问号的黑色方块。我在文档上设置了与博客上相同的“UTF-8”。
【问题讨论】:
您需要告诉 MySQL 必须以 UTF-8 进行连接。为此,请使用函数mysql_set_charset(您需要 PHP 5.2.3)。如果你使用 PHP
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);
还要确保标题表明文档是 UTF-8 格式(header 函数和/或 HTML 元标记已正确设置)。
同时确保您的 PHP 文件以 UTF-8 格式保存没有BOM。
【讨论】:
您是如何将这些字符添加到文档中的?根据编辑器的不同,保存时编码可能会出现偏差。除了使用 PHP 标头指定编码之外,您是否在 HEAD 中使用 META 设置了文档类型?
这里有一些关于这个主题的进一步阅读http://htmlpurifier.org/docs/enduser-utf8.html
【讨论】: