mysql错误SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...'
2018-03-07 19:26
579 查看
今天在运行程序插入数据库时,出现了如下的bug:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [replace into task_result values(?,?,?,?)]; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...' for column 'ip_info' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...' for column 'ip_info' at row 1。
网上百度了一下,是Emoji字符导致的。
虽然我修改了mysql的默认字符集为utf8,但是为3个字节,存储Emoji字符需要4个字节的utfm8。修改my.cnf。
修改前:
修改字符集:
修改后再次查看字符。
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [replace into task_result values(?,?,?,?)]; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...' for column 'ip_info' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xBF\xAA\xB7\xEF\xBF...' for column 'ip_info' at row 1。
网上百度了一下,是Emoji字符导致的。
虽然我修改了mysql的默认字符集为utf8,但是为3个字节,存储Emoji字符需要4个字节的utfm8。修改my.cnf。
修改前:
修改字符集:
修改后再次查看字符。
相关文章推荐
- 关闭 mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "addres
- mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column
- MySQL中出现编码错误问题:ERROR 1366 (HY000): Incorrect string value:
- mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" a
- mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" a
- mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" a
- mysql 错误 SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address"
- mysql insert中文乱码无法插入ERROR 1366 (HY000): Incorrect string value: \'\\xB1\\
- 字符集不同引发的MySQL的1366错误:Warning: #1366 Incorrect string value...
- 解决MySQL里的ERROR 1366 (HY000): Incorrect string value
- 线上问题 - MySQL SQL state [HY000]; error code [1366]
- MySQL乱码实战解决ERROR 1366 (HY000): Incorrect string value: '
- mysql 1366 - Incorrect string value: '\xB1\xB1\xBE\xA9\xCA\xD0' for column '错误解决
- 解决MySql 报错:ERROR 1366 (HY000): Incorrect string value....
- MySql系列:中文写入数据库出现错误java.sql.SQLException: Incorrect string value: '\xE5\xxxx' for column 'xxxx' at row 1及其解决方法
- Mysql 错误1366, "Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column '
- 命令行插入含有中文的sql文件,报错ERROR 1366 (HY000): Incorrect stringvalue:
- MYSQL写入数据时报错ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for c 插入中文不能插入
- 解决MySQL里的ERROR 1366 (HY000): Incorrect string value
- mysql 插入中文时出现ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern ame' at row 1