包含特殊字符的内容,例如存储时' " -
将替换为�
之类的字符。但并非所有字符实例都更改为像�
这样的字符。所以有点奇怪为什么它只会影响某些角色,而不是全部。
在线阅读了一些文章后,我发现了table collation
和charset
utf8_unicode_ci
html5
<meta charset="utf-8">
通过上述设置,我仍然可以获得黑色钻石。有帮助吗?我有点绝望。
编辑:
也许你们中的一些人将来会遇到完全相同的问题。您可以在下面找到我的答案作为完全相同的解决方案。干杯!
答案 0 :(得分:2)
我的网页是带有
的html5<meta charset="utf-8">
无论meta
是什么都没用
页面字符集仅由Content-type
HTTP标头确定,必须包含正确的字符集。
$mysqli->set_charset('utf8')
/ ;charset=utf8
也应该被使用,但在您的情况下似乎不是问题。
答案 1 :(得分:1)
好的这篇文章已经有几个星期了,但我发现了我的错误。
存储在数据库中并从中正确设置为UTF-8
的值。问题发生在我echo
htmlentities
时。
我的旧回声通过:htmlentities($str, ENT_QUOTES);
它没有'UTF-8'
新的回声通过:htmlentities($str, ENT_QUOTES, "UTF-8");
它有效。
唉。几个字符的伤害。
无论如何,感谢所有帮助过的人。