本文共 1115 字,大约阅读时间需要 3 分钟。
MySQL 存储表情符号时发生错误(SQLException: Incorrect string value: ‘\xF0\x9F\xA4\xAA’)
表情符号通常包含多个字节,可能会被误解为二进制数据。为了解决这个问题,我们需要全面检查和优化数据库的字符集设置。以下是解决问题的详细步骤:
查看MySQL配置文件(my.ini):
character-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'
[mysql]default-character-set = utf8mb4[client]default-character-set = utf8mb4
修改数据库字符集:
ALTER DATABASE {database_name} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改表字符集:
ALTER TABLE {table_name} CHARSET=utf8mb4;
修改字段字符集:
ALTER TABLE {table_name} MODIFY COLUMN {column_name} varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `name`;
检查连接字符串:
// 例如,修改连接字符串:String connURL = "jdbc:mysql://localhost:3306/{database_name}?useUnicode=false&characterEncoding=utf8";
验证配置:
测试和部署:
通过以上步骤,可以确保MySQL正确存储和处理表情符号,避免SQLException错误。
转载地址:http://trbfk.baihongyu.com/