我正在尝试在Web浏览器中显示存储在我的mysql数据库中的Emojis并遇到问题。最初,表情符号被翻译成
????
做了一些研究,并将所需表格的字符集更改为utf8mb4。我现在能够将unicodes存储在数据库中,例如。
😴
💛
然而,当我通过php检索这些存储的字符串时,从数据库中我只看到代码周围的文本和代码本身而不是表情符号。 例如
"had a great weekend with the family 💛"
而不是:
“和家人度过了愉快的周末”
任何建议我做错了什么?
修改
解决了我的问题。我正在使用
htmlspecialcahrs()
关于我想要存储的字符串的输入。这是转换
&
到
&
导致表情符号不被识别为
&#128564
无效。我只需要删除
htmlspecialchars
重新插入字符串,它有效!
感谢您寻找
答案 0 :(得分:0)
MySQL不会触及💛
等html实体。还有别的东西正在产生它们。
如果你在php中使用json,请检查第二个arg以避免htmlentities。
如果你坚持使用实体,可以通过html_entity_decode()
将它们变回字符。
最好整个都有utf8mb4;这是数据库中的UNHEX('F09F929B')
,在PHP等中没有使用html*()