gpt4 book ai didi

php - 黑钻石问号问题

转载 作者:行者123 更新时间:2023-11-29 13:55:40 24 4
gpt4 key购买 nike

好的。我搜索了所有可能的方法。但这仍然让我望而却步。

我正在使用 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 就很棘手了。您需要检查所有内容

  1. 如果您的表格标有 utf8 字符集
  2. 如果您的数据确实以 utf 编码(未标记但确实编码)
  3. 如果您的服务器在 Content-type header 中发送正确的字符集。

查看页面从浏览器菜单中选择不同的字符集也很有用。

但首先,你必须删除你尝试过的所有随机操作的任何痕迹,所有这些不同的编码、解码等等。只是数据库的简单直接输出。否则你将永远无法解决问题

关于php - 黑钻石问号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com