Sunxin'Blog

Android-上传Emoji表情到服务器的问题

上传Emoji表情到服务器的问题

先上效果

一开始在做仿微信发朋友圈或评论的时候表情一直上传不上去,和服务端哥们探讨了一下,发现是MySQL数据库存入不了表情符号,Google了一下,有人说当MySQL的版本大于5.6的时候可以通过修改编码还是字符集什么的就可以插入了,但是对我们还是不起作用。所以考虑了一段时间决定另辟蹊径,其实特别简单,只要对上传的内容进行Base64编码就好了,然后请求下来的时候再解码,这样问题就迎刃而解了。

  • 上传之前
1
2
// 对内容进行Base64
String str_count = Base64.encodeToString(str_count.getBytes(), Base64.DEFAULT);
  • 获取到数据之后解码
1
2
byte[] bytes = Base64.decode(this.bean.getContent(), Base64.DEFAULT);
holder.content.setText(new String(bytes));

需要特别注意:这个编解码的过程最好是放在服务器进行,因为如果应用有Android端和iOS端的话,两端也能协调一致。避免出现乱码的问题。

-------------本文结束感谢您的阅读-------------