包含特殊字符的内容,例如' " -
存储时替换为类似 �
的字符。但并非所有字符实例都会更改为类似 �
的字符。 。所以有点奇怪为什么它只影响某些角色而不是全部。
在网上和SO中阅读了一些文章后,我发现了table collation
和charset
- 我正在使用 PHP MySQL
- 我在存储和获取值时使用准备好的语句
- 数据库表排序规则设置为
utf8_unicode_ci
- 我的页面是
html5
与<meta charset="utf-8">
通过上述设置,我仍然得到黑色钻石。有什么帮助吗?我有点绝望。
编辑:
也许你们中的一些人将来会遇到完全相同的问题。您可能会在下面发现我的答案与完全相同的解决方案。干杯!
最佳答案
My pages are html5 with
<meta charset="utf-8">
无论如何meta
s 毫无用处。
页面字符集由 Content-type
确定仅 HTTP header ,其中必须包含正确的字符集。
$mysqli->set_charset('utf8')
/;charset=utf8
在 PDO 的 DSN 中也应该使用,但这似乎不是您的情况的问题。
关于php - 如何在mysql数据库中存储和获取精确的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16666354/