我有一个自制的文本编辑器,它具有一项功能,您可以将Unicode字符插入到(可编辑的)div中。例如,扬声器图标由以下字符串表示:
🔊
,并将此字符串作为文本节点插入后,将直接在div中将其正确呈现为
?
导出编辑器的内容时,基本上是提交div.innerHTML并将其存储在mysql数据库中。
但是我希望innerHTML保留/保留字符的十六进制表示而不是呈现的版本,例如输出字符串,如
this is a <span style='color:green'>speaker-icon: 🔊</span> in my message.
原因是在mysql中,该图标还存储为'???' 。 Mysql使用utf8mb4_general_ci作为排序规则。另外,无论排序规则如何,我都希望HTML尽可能具有可移植性。
这可能吗?
PS我正在使用PHP作为后端。
答案 0 :(得分:0)
连接可能没有在连接和/或列定义中指定utf8mb4。
请参见Trouble with UTF-8 characters; what I see is not what I stored中的“问号”