上传Emoji表情到服务器的问题
先上效果
一开始在做仿微信发朋友圈或评论的时候表情一直上传不上去,和服务端哥们探讨了一下,发现是MySQL数据库存入不了表情符号,Google了一下,有人说当MySQL的版本大于5.6的时候可以通过修改编码还是字符集什么的就可以插入了,但是对我们还是不起作用。所以考虑了一段时间决定另辟蹊径,其实特别简单,只要对上传的内容进行Base64编码就好了,然后请求下来的时候再解码,这样问题就迎刃而解了。
- 上传之前
1 | // 对内容进行Base64 |
- 获取到数据之后解码
1 | byte[] bytes = Base64.decode(this.bean.getContent(), Base64.DEFAULT); |
需要特别注意:这个编解码的过程最好是放在服务器进行,因为如果应用有Android端和iOS端的话,两端也能协调一致。避免出现乱码的问题。