mysql存表情符号报错

发布时间: 2023-11-21 13:16 阅读: 文章来源:1MUMB5029PS

今天在使用mysql存储4字节字符,如emoji时,程序报错,在此记录一下解决方法。测试数据为"",错误如下。

Cause: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x83‘ for column ‘username‘ at row org.apache.ibatis.exceptions.PersistenceException:

解决方法就是对4字节字符进行编码,变成单字节字符。使用时再进行解码。

编码解码代码如下。

public static String encode(String source){if(null == source || "" == source){return null;}StringBuffer sb = new StringBuffer(source.length()*3);for(char c : source.toCharArray()){if(c >= 0xd800 && c
•••展开全文