您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

关于MYSQL保留emoji表情及openfire处理办法

2025/2/7 5:12:45发布30次查看
关于mysql保存emoji表情及openfire处理办法 在开发移动应用的时候,用户在输入了emoji表情后,系统异常,我是做服务器端的,发现错误如下: java.sql.sqlexception: incorrect string value: '\xf0\x9f\x92\x94' for column 'name' at row 1at com.mysql.jdbc
关于mysql保存emoji表情及openfire处理办法
在开发移动应用的时候,用户在输入了emoji表情后,系统异常,我是做服务器端的,发现错误如下:
java.sql.sqlexception: incorrect string value: '\xf0\x9f\x92\x94' for column 'name' at row 1 at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1073) at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3593) at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3525) at com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:1986) at com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2140) at com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2620) at com.mysql.jdbc.statementimpl.executeupdate(statementimpl.java:1662) at com.mysql.jdbc.statementimpl.executeupdate(statementimpl.java:1581)
?网上有解决办法。就是把数据库对应字段编码改为utf8mb4,这个编码可以看做是utf8升级版,完全向下兼容utf8,所以基本不用担心有什么乱码问题。
但是在openfire也做相同处理以支持发emoji表情的时候,发现只改字段编码还是不行。各种和之前的表进行对比,发现没什么不同;思前想后,觉得问题不是出在数据库上,应该是连接驱动有问题!果然,openfire用的驱动包是mysql.jar,没看是什么版本;我把之前好使的mysql驱动包拿来,果然可以了!
?
总结:
让mysql支持保存emoji表情,需进行如下两步。
1、数据库对应字段编码改为utf8mb4;
2、mysql连接驱动至少在5.1.16以上,我用的是mysql-connector-java-5.1.16-bin.jar
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product