当前位置:   article > 正文

mysql : utf8mb4 的问题(java)_useunicode=true&characterencoding=utf8mb4

useunicode=true&characterencoding=utf8mb4

在连接字符串中,

jdbc:mysql://localhost:3306/db名称?useUnicode=true&characterEncoding=utf8

存储4字节utf8时,报错如下(从别人那里拷贝的。呵呵)

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)

解决办法:

创建数据库连接后,执行一条sql语句:Set names utf8mb4

执行后,可以使用SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';检查

其中,character_set_client 和character_set_connection为utf8mb4。

再在这个连接执行,4字节utf8就可以存储上了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/858608
推荐阅读
相关标签
  

闽ICP备14008679号