今天微信小程序前端对接我的接口,数据保存的时候sql报错;
### Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xBB' for column 'wechat_name' at row 1
; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x8C\xBB' for column 'wechat_name' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xBB' for column 'wechat_name' at row 1
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)
at com.sun.proxy.$Proxy103.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:279)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:57)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
at com.sun.proxy.$Proxy135.insertSelective(Unknown Source)
百度一番原来是微信昵称中有emoji表情符号,数据库默认的utf-8格式存不了,需要utf8mb4存放。看了很多帖子要把真个数据库和表的字符集都改成utf8mb4,不想太大改动,只想改字段的格式,试了一下也是可以的。
工具用的Navicat Premium