我正在尝试将所有特殊字符转换为 HTML 安全实体,使其进入我的数据库,但我似乎无法让 PHP 处理某些字符。例如,如果我的字符串包含以下任何内容:¡£¢∞§¶
它会变成一个空字符串。
例如,下面的字符串:
你好£
通过以下代码POST处理后变成空字符串:
$workDetails["copy"] = htmlentities($workDetails["copy"], ENT_QUOTES, "UTF-8");
我想我做错了什么? :(
最佳答案
如果您通过 header()
将您网站的编码更改为 UTF-8,也许就足够了命令:
header("Content-Type: text/html; charset=utf-8");
在 PHP 中
或
<?xml version="1.0" encoding="utf-8" ?>;
在您的 HTML 模板顶部(如果您使用的话)。
但如果您确实需要将这些字符转换为其特定的 html 代码,您应该创建自己的函数来替换 htmlspecialchars()
未涵盖的符号。
关于PHP:htmlentities 和 htmlspecialchars 不转换某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082365/