在做项目的时候,遇到了一个问题,就是APP有关评论的,在手机输入表情后内容之后,调用接口存到服务器报错:java Incorrect string value: '\xF0\x9F\x98\x8A' for column 'content' at row 1;这样的问题,是我的mysql中用到的数据库的字符集是utf-8,
因为mysql中的utf-8并不是真正意义上的utf-8,它只能存储1~3个字节长度的utf-8编码,如果想存储4个字节的必须用
utf8mb4类型。这样的话,就要改数据库的编码了,研究了好久,编码就算改了也没用。
最后的是不改数据库编码,保持utf-8,解决的办法是先把内容用URLEncoder编码,取出的时候再用URLDecoder解码。完美解决了这个问题。