【发布时间】:2016-06-04 12:52:35
【问题描述】:
我正在尝试在 Web 浏览器中显示存储在我的 mysql 数据库中的表情符号,但遇到了问题。最初,表情符号被翻译成
????
也做了一些研究,并将所需表的字符集更改为 utf8mb4。我现在可以将 unicodes 存储在数据库中,例如。
😴
💛
但是,当我通过 php 检索这些存储在其中的字符串时,从数据库中我只看到代码周围的文本和代码本身,而不是表情符号。 例如
"had a great weekend with the family 💛"
代替:
“和家人度过了一个愉快的周末???”
任何建议我做错了什么?
编辑
解决了我的问题。我正在使用
htmlspecialcahrs()
关于我要存储的字符串的输入。这是在转换
&
到
&
导致表情符号不被识别为
&#128564
无效。我只需要删除
htmlspecialchars
重新插入字符串,它成功了!
感谢收看
【问题讨论】:
-
你说数据库本身是utf8mb4编码的,但是连接、文件、PHP-和HTML-headers呢?
-
我认为你第一次就做对了,但浏览器中并没有存储每一个 unicode 字符。要显示它们,您可能需要找到包含它们的字体并通过网站将其发送给用户
-
我已经更改了字体,这没有任何区别。问题在于解释数据库的输出,所以我应该关注一个特定的区域吗?
标签: php mysql unicode emoji utf8mb4