作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的。我搜索了所有可能的方法。但这仍然让我望而却步。
我正在使用 PDO 从 MySQL 获取数据。 MySQL 数据具有类似 ä
的字符。我只是使用 PDO 运行查询并对结果数组进行 json_encode 处理。编码后,我strip_tag
。
当我打印数组时,我仍然看到黑色菱形问号字符。 �.var_dump
显示相同的菱形标记。
我的 PDO 具有以下设置:
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
在 JSON 响应中,我得到包含此字符的字符串 null
。
我尝试了utf8_encode
。它并不能解决问题。 utf8_encode(json_encode($results))
我尝试了iconv("UTF-8", "ISO-8859-1", strip_tags(json_encode($results)))
。运气不好。
数据库显示正确的字符ä
我现在完全没有想法了。
更新:
这解决了我的问题。
将其更改为:
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
至
PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET 'utf8'"
现在工作正常。
最佳答案
黑色钻石是浏览器问题。数据库使用简单的问号。
看来您已经从数据库中获取了错误的数据。但是如果你的设置有不正确的 utf 就很棘手了。您需要检查所有内容
查看页面从浏览器菜单中选择不同的字符集也很有用。
但首先,你必须删除你尝试过的所有随机操作的任何痕迹,所有这些不同的编码、解码等等。只是数据库的简单直接输出。否则你将永远无法解决问题
关于php - 黑钻石问号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911526/
我是一名优秀的程序员,十分优秀!