我创建了一个Android webview应用程序。
该应用程序的一部分是一个消息系统。
当我发送表情符号作为消息或作为消息的一部分时,表情符号消失,它不会插入到数据库中。
我查看了如何从客户端收到它,它看起来像乱码▒^▒^▒^▒
。
我在客户端使用html和javascript。
并在我的服务器端使用PHP和MySQL。
我的数据库表都是CHARSET=utf8;
。
我在带有这些标头的ajax请求中发送消息文本:
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
。
我使用FormData
发送整个邮件表单。
我在我的HTML中使用<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
。
我错过了什么?我如何使其工作? 到目前为止,我找不到答案,也没有类似的问题。
提前致谢。
答案 0 :(得分:0)
您需要在MySQL中使用utf8mb4
,以便能够在基本多语言平面(BMP)之外存储Unicode代码点。大多数表情符号都位于BMP之外。
https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html