MySQL导入Emoji表情符号报错

来源:互联网 发布:怎样用java做网站 编辑:程序博客网 时间:2024/05/21 09:09

Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [update user_info set nick_name = ?, is_regular = ? where uid = ? ]; SQL state [HY000]; error code [1366]; Incorrect string value: '\xE8\x97\xA4\xE5\x8E\x9F...' for column 'nick_name' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xE8\x97\xA4\xE5\x8E\x9F...' for column 'nick_name' at row 1

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:818)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:874)

at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:882)


处理一个业务,需要存入用户昵称,有些用户昵称是Emoji表情,用默认utf8字符集就无法写入,上网查了下,把相应字段字符集修改成utf8mb4即可。


参考:http://blog.itpub.net/26230597/viewspace-1243233/

文中需要把字段、表和DB字符集都修改成utf9mb4,但我实际测试只需要修改相应字段就行了,也不需要重启DB,没必要影响其他业务。

0 0
原创粉丝点击