gpt4 book ai didi

PHP htmlentities 不工作?输出是?

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

我正在尝试在 MySQL 数据库中存储一些数据。当我尝试输入特殊字符甚至外来字符(如 ø 或 звяф)时,我希望将它们存储为 html 实体(如 ő)

我认为这非常简单,只需使用 htmlentities(),但是当我存储数据时,我什么也得不到,除了???在数据库中。

有什么想法吗?

这是我现在使用的代码:

$sqlOrder="INSERT INTO data (
bad, cname, lor
)
VALUES (
'".htmlentities($b->getBad(), ENT_COMPAT, 'UTF-8')."', '".htmlentities($b->getCName(), ENT_COMPAT, 'UTF-8')."', '".htmlentities($b->getLor(), ENT_COMPAT, 'UTF-8')."'
)";

如上所述,数据库中的结果是?????????对于任何特殊字符,例如 кршуцкыя 或 æåø。

最佳答案

您的数据库的数据排序规则是什么?默认情况下,大多数 MySQL 为新创建的数据库安装设置 latin1_swedish_ci 而不是 utf8_general_ci

更改数据库的排序规则并重试。

ALTER DATABASE [name of your database] CHARACTER SET utf8;

如果这是一个特定的表,则可以按如下方式更改排序规则:

ALTER TABLE [name of your table] CONVERT TO CHARACTER SET utf8;

如果它是表中的特定列:

ALTER TABLE [name of your table] MODIFY [name of your column] [other settings] CHARACTER SET utf8 COLLATE utf8_general_ci;

或者您可以导出当前数据库,使用此命令创建一个新数据库并重新导入数据:

CREATE DATABASE [name of your database] CHARACTER SET utf8 COLLATE utf8_general_ci;

关于PHP htmlentities 不工作?输出是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386946/

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