php - 如何在mysql数据库中存储和获取精确的字符?

标签 php mysql character-encoding collation

包含特殊字符的内容,例如' " -存储时替换为类似 的字符。但并非所有字符实例都会更改为类似 的字符。 。所以有点奇怪为什么它只影响某些角色而不是全部。

在网上和SO中阅读了一些文章后,我发现了table collationcharset

  • 我正在使用 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/

相关文章:

linux - 显示fat32 usb盘的卷标?

html - 如何在手机浏览器上显示(☰)?

php - 将 mysql 查询传递到 while 循环中

javascript - 自动完成:以不同的颜色显示未完成的字符

mysql - 进行 LEFT JOIN 时,当第二个表中不存在匹配值时,匹配值将从结果中丢失

php - 如何转换以下内容以插入到 mysql 中?

java - Android 中 File.listFiles() 编码问题的错误处理

php - 在 PHP 中使用回溯进行 Levenshtein 距离

php - if(x==1 || x==5 || x==7 || x==22) 的更短写法

mysql - 哪个最快? SELECT SQL_CALC_FOUND_ROWS FROM `table` 或 SELECT COUNT(*)