【发布时间】:2020-07-14 21:25:34
【问题描述】:
如何清除我的表单输入中的表情符号等字符?例如,当我在文本区域中使用类似 ???? 的表情符号发布段落时,记录不会插入到数据库中。我无法将我的数据库表更改为 utf8mb。现在是utf8。我已经尝试了以下功能,但它们都不起作用。
$str = iconv('UTF-8', 'UTF-8//IGNORE', $str);
$str = utf8_encode($str);
$str = mb_convert_encoding ($str, "UTF-8");
$str = htmlspecialchars ($str);
$str = htmlspecialchars ($str, ENT_SUBSTITUTE, 'UTF-8');
$str = htmlspecialchars ($str, ENT_SUBSTITUTE);
json_encode($str) 确实将表情符号更改为“\UXXXX”之类的东西,但它将所有输入都包含在双引号中,我必须为每个输入解码它。
如果有人输入“hello world ????”,请明确我想将以下内容之一保存到数据库中: 你好世界或 你好世界 :-) 或 你好世界:微笑:
【问题讨论】:
标签: php utf-8 user-input emoji