我将文本从EditText字段发送到我的服务器并将其存储在Mysql数据库中。它工作正常。但是当我尝试发送表情符号时,它只发送文本。所以我谷歌的东西,发现唯一的解决方案是转换EditText值。
我尝试了以下内容:
String toServer = EditText.getText().getString();
String toServerUnicodeEncoded = StringEscapeUtils.escapeJava(toServer);
现在,Emojis具有java unicode格式。近...
例如。它应该是“\ u2764”,但在我的服务器上它获得“u2764”。所以它不发送“\”。我试图将字符串“\ u2764”发送到服务器。它有效。
是否有人可以告诉我为什么它没有发送正确的“\ u2764”并删除“\”......
答案 0 :(得分:0)
许多产品将反斜杠\
用作“转义”字符。他们对角色采取行动,否则将其丢弃。
如果产品不执行任何操作,则很可能会将其丢弃。
某些产品会将\u2764
视为沉重的黑心(❤
),用六进制E29DA4
将3个字节的UTF-8字符替换为6个字节。
其他人会说:“嗯,在反斜杠之后我对u
不做任何事情,所以我只会扔反斜杠。”这会将6个字符\u2764
变成5个字符u2764
。
\u2764
来自哪里?如果来自PHP json_encode
,请附加JSON_UNESCAPED_UNICODE
作为第二个参数。