我正在从mysqlDb中将我的博客中的文章检索到我的网站。这些文章在博客上显示得很好,但在网站上,一些字符如ţ,ş,ă等被替换为带有问号的黑色方块。我的文档上设置了“UTF-8”,与博客上的相同。
答案 0 :(得分:4)
您需要告诉MySQL必须以UTF-8进行连接。为此,请使用函数mysql_set_charset(您需要PHP 5.2.3)。如果你使用PHP< 5.2.3尝试:
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 保存而不是 a BOM。
答案 1 :(得分:2)
您是如何将这些字符添加到文档中的?根据编辑器的不同,保存时编码可能会出现偏差。除了使用PHP标头指定编码外,您是否使用META在HEAD中设置了文档类型?
以下是关于该主题的进一步阅读http://htmlpurifier.org/docs/enduser-utf8.html