【发布时间】:2013-02-06 17:40:31
【问题描述】:
在我的 index.php 中,我有一些用特殊字符编写的固定文本(例如 è à ä ö)。 我还有一个查询,其中包含来自数据库的发布文本。此文本也有特殊字符。 数据库使用 utf8_unicode_ci 设置。我也试过 utf8_general_ci 和 utf8_bin
如果我放置
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
在标题上,纯文本显示完美(所以我读了è à ä ö)。 另一方面,来自数据库的文本显示不正确(我读过???)。
如果我放置
<meta http-equiv="Content-Type" content="text/html; charset=utf8_unicode_ci" />
或
我已经完美地发布了数据库文本,但是 HTML 文档中的纯文本是通过 À À À 而不是特殊字符 àéè 发布的。
我做错了什么?
编辑:
我试过了:
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
然后当我连接到数据库时:
$connection->set_charset('utf8');
结果显示正确。这是一个好的解决方案吗?
【问题讨论】:
-
是的,您的编辑不仅好,而且是正确的解决方案。最初似乎有效的不正确的欺骗性解决方案包括使用
utf8_encode/decode。 -
感谢您的帮助!