。。APP发送一个表情给后台,后台这样处理:
String emojiStr=URLEncoder.encode(letterModel.getLetterContent(), "utf-8");
letterModel.setLetterContent(emojiStr);
这样无论是表情还是文字都会在数据库中已这样的方式存储,看letterContent:
它已%**%**这样的方式存储。。
然后,我们在查letterContent的时候要这样处理:
if (temp.getLetterContent() != null) {
String emojiStr = URLDecoder.decode(temp.getLetterContent(), "utf-8");
temp.setLetterContent(emojiStr);
}
这样后端就可以很好处理的。。当然啦。有两个前提:
1配置文件:jdbc.url=jdbc:mysql://192.168.1.254:3306/guide?characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=TRUE
2MySQL数据库版本,好像是要大于5.5吧。。貌似是说utf-8什么的能存储像emoji这样四个的字节,但是老版本只能存储3个字节。。
详细原理,以后再深究。
后来发现配置文件不需要是上面的那个样子,直接:jdbc.url=jdbc:mysql://192.168.1.254:3306/guide?characterEncoding=utf-8这样也是可以的