MySQL導入Emoji表情符號報錯

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,沒必要影響其他業務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章