从EditText发送表情符号到服务器

时间:2018-04-16 15:56:16

标签: java android unicode emoji unicode-escapes

我将文本从EditText字段发送到我的服务器并将其存储在Mysql数据库中。它工作正常。但是当我尝试发送表情符号时,它只发送文本。所以我谷歌的东西,发现唯一的解决方案是转换EditText值。

我尝试了以下内容:

String toServer = EditText.getText().getString();
String toServerUnicodeEncoded = StringEscapeUtils.escapeJava(toServer);

现在,Emojis具有java unicode格式。近...

例如。它应该是“\ u2764”,但在我的服务器上它获得“u2764”。所以它不发送“\”。我试图将字符串“\ u2764”发送到服务器。它有效。

是否有人可以告诉我为什么它没有发送正确的“\ u2764”并删除“\”......

1 个答案:

答案 0 :(得分:0)

许多产品将反斜杠\用作“转义”字符。他们对角色采取行动,否则将其丢弃。

如果产品不执行任何操作,则很可能会将其丢弃。

某些产品会将\u2764视为沉重的黑心(),用六进制E29DA4将3个字节的UTF-8字符替换为6个字节。

其他人会说:“嗯,在反斜杠之后我对u不做任何事情,所以我只会扔反斜杠。”这会将6个字符\u2764变成5个字符u2764

\u2764来自哪里?如果来自PHP json_encode,请附加JSON_UNESCAPED_UNICODE作为第二个参数。