码迷,mamicode.com
首页 > 数据库 > 详细

mysql: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x90</...'

时间:2015-09-02 17:15:40      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

插入数据出现问题,因为包含了特殊字符。

现象: 
插入的数据中如果含有某些特殊字符,会导致插入数据失败,例如字符串”测试**插入数据。。。“,在console中insert是正常的,但是使用java代码insert的时候报错。

 

原因:

mysql utf-8编码最多只支持三个字节,而有的unicode字符转成utf8编码之后有4个字节,所以插入失败。

 

解决方案:

修改Content字段为MEDIUMBLOB(原来是varchar),并且把SELECT语句修改成

SELECT CAST(Content AS CHAR CHARACTER SET utf8) AS Content ....  

INSERT语句不需要修改

 

也有说升级mysql,用utf8mb4编码

mysql: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x90</...'

标签:

原文地址:http://www.cnblogs.com/yanyd/p/4778971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!