gpt4 book ai didi

php - mysqli_fetch_object 不返回某些表中字符串中的重音符号

转载 作者:行者123 更新时间:2023-11-29 06:58:04 24 4
gpt4 key购买 nike

我遇到了一个我似乎无法解决的问题。当我从 MySQL 数据库的某个表“文章”中提取对象时,带有重音符号的字符(如 é á ú 等)会变成问号。但是,当我从不同的表“突出显示”中提取数据时,这种情况不会发生。

我已经检查过这些表在 MySQL 中使用相同的字符集和类型。我还检查了问题是否仅出现在前端,但我的调试器已经显示该变量包含问号符号。

这是从数据库获取数据的代码

if ($result = mysqli_query($conn, $query)) {
while ($obj = mysqli_fetch_object($result)) {
$resObj[] = $obj;
}
} else return false;
return $resObj;

我可能遗漏了一些明显的东西,但我不知道是什么。

编辑:phpMyAdmin 中的表格显示正确的字符,因此它们可以正确插入。

最佳答案

所以……还没有时间验证这一点,但看起来问题可能与 SET CHARACTER SET <charset> 有关。 。此命令会将字符集关联到 the collation of the default database

如果您调用<db-name>.highlights然后不为articles指定数据库,那么这至少在理论上可能会导致差异。同时mysqli_set_charset($conn, <charset>)调用指令 SET NAMES <charset>This sets all of the collation and connection information to match <charset> .

有很多设置you can update in my.cnf 这可能有助于将来解决这个问题(例如为所有数据库设置默认排序规则并更新 collation database 值),但在 PHP 中显式设置它会更安全。显式优于隐式等等。

关于php - mysqli_fetch_object 不返回某些表中字符串中的重音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805041/

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