JavaScript Unicode 字符;保留十六进制代码值



我有一个自制的文本编辑器,具有一个功能,您可以将Unicode字符插入(可编辑的(div。例如,扬声器图标由以下字符串表示:

🔊

将此字符串作为文本节点插入后,它将直接在div 中正确呈现为

🔊

当我导出编辑器的内容时,我基本上提交div.innerHTML并存储在mysql数据库中。

但是,我希望 innerHTML 保留/保留字符的十六进制表示形式而不是渲染版本,例如输出字符串,例如

this is a <span style='color:green'>speaker-icon: &#x1f50a;</span> in my message.

原因是在mysql中,图标存储为"???"。Mysql 使用utf8mb4_general_ci作为排序规则。此外,无论排序规则如何,我都希望使HTML尽可能可移植。

这可能吗?

PS 我使用 PHP 作为后端。

可能连接没有在连接和/或列定义中指定 utf8mb4。

请参阅UTF-8字符问题中的"问号";我看到的不是我存储的内容

最新更新