我把一个论坛mysql数据库转换成utf8mb4。似乎是工作良好的表情保存和显示罚款。
但我对聊天室有意见。emojis作为unicode保存在数据库中 "%uD83D%uDE0B"
如果由phpmyadmin插入emojis,则可以正常工作。
这个问题可以通过 mb_convert
或者别的什么?
PHP5.6
这可能是有问题的代码吗-
$str = unhtmlspecialchars(str_replace(array("\n"), '', trim(convert_urlencoded_unicode($str))));
带代码☀️ 3字节表情符号有用吗?别这样。代码注解为//hex。
1条答案
按热度按时间dnph8jn41#
请勿触摸utf-16。仅使用utf-8。在mysql中,utf-8是
CHARACTER SET utf8mb4
.?
是十六进制D83DDE0B
在utf-16中,但你需要十六进制F09F988B
采用utf8mb4。可能数据是由java或其他源代码创建的?
实际上,我们没有理由在php中使用转换例程。