发送表情tomcat报错,请问怎么解决?数据库编码已经改为utf8mb4,连接字?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

发送表情tomcat报错,请问怎么解决?数据库编码已经改为utf8mb4,连接字?报错

2020-06-09 13:51:53 346 1

错误信息如下:

2016-06-20 10:43:55,294 ERROR com.bsteel.vs.webapp.controller.BaseController:181 - org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO vsns_topic SET `from`=?,`type`=?,`uid`=?,`videoid`='0',`lastupdate`=UNIX_TIMESTAMP(),`dateline`=UNIX_TIMESTAMP(),`totid`=?,`touid`=?,`anonymous`='0',`item`='',`item_id`='0',`channel_id`='0',`username`=?,`musicid`='0',`roottid`='0',`content`=?,`postip`=?,`post_ip_port`='64020']; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x98\x81\xF0\x9F...' for column 'content' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x81\xF0\x9F...' for column 'content' at row 1

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-09 13:52:12

    我已经解决了,看地址

    http://www.cnblogs.com/yjmyzz/p/mysql-utf8mb4-jdbc.html

    ==>3093IZVc: 2016-06-2010:43:55,294ERRORcom.bsteel.vs.webapp.controller.BaseController:181-org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;uncategorizedSQLExceptionforSQL[INSERTINTOvsns_topicSET`from`=?,`type`=?,`uid`=?,`videoid`='0',`lastupdate`=UNIX_TIMESTAMP(),`dateline`=UNIX_TIMESTAMP(),`totid`=?,`touid`=?,`anonymous`='0',`item`='',`item_id`='0',`channel_id`='0',`username`=?,`musicid`='0',`roottid`='0',`content`=?,`postip`=?,`post_ip_port`='64020'];SQLstate[HY000];errorcode[1366];Incorrectstringvalue:'\xF0\x9F\x98\x81\xF0\x9F...'forcolumn'content'atrow1;nestedexceptionisjava.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x98\x81\xF0\x9F...'forcolumn'content'atrow1
    ==>3093IZVc: 2016-06-2010:43:55,294ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
    ==>3093IZVc: 2016-06-2010:43:55,295ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    ==>3093IZVc: 2016-06-2010:43:55,295ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    ==>3093IZVc: 2016-06-2010:43:55,296ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660)
    ==>3093IZVc: 2016-06-2010:43:55,298ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)
    ==>3093IZVc: 2016-06-2010:43:55,298ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
    ==>3093IZVc: 2016-06-2010:43:55,299ERRORcom.bsteel.vs.webapp.controller.BaseController:183-org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)
    ==>3093IZVc: 2016-06-2010:43:55,299ERRORcom.bsteel.vs.webapp.controller.BaseController:183-com.bsteel.vs.dao.impl.TopicDaoImpl.saveTopic(TopicDaoImpl.java:35)
    看一下你要保存表情的字段编码是不是utf8mb4可以考虑把 content字段用base64转码后再存储。表情字段一般用blob类型存储,查询的时候再转一下即可
    这是重构的项目,别人用php都可以的,用java就不可以了

    这个错误应该是很数据库有关系。前不久刚碰到过。

    https://segmentfault.com/a/1190000000616820

    这个帖子整理的还算比较完整的。

    很多人在使用mysql数据库的时候遇到编码问题,在mysql数据库使用时,
    字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和连接级
    你需要查下你各级别字符集跟校对规则,修改成你需要的字符集及校对规则就可以了。

    参考自:
    MySQL的字符集和校对
    0 0
相关问答

0

回答

javaweb项目,部署在tomcat,但是无法通过公网访问

2020-10-18 23:02:27 434浏览量 回答数 0

1

回答

在jetty中运行没有错误,但是集成在tomcat时启动报错!?报错

2020-06-14 20:59:47 240浏览量 回答数 1

1

回答

tomcat启动连接mysql的时候报错(代码)?报错

2020-06-09 14:33:11 405浏览量 回答数 1

1

回答

tomcat运行直接循环请求,然后报错,?报错

2020-06-10 10:19:03 157浏览量 回答数 1

0

回答

请问一下,表格存储支持utf8mb4字符吗?

2019-08-05 14:28:57 196浏览量 回答数 0

1

回答

我们需要从utf8变成utf8mb4(保存表情)

2018-07-04 16:42:38 603浏览量 回答数 1

1

回答

云虚拟主机能安装tomcat吗?能用xshell连接吗?

2017-06-25 15:30:20 3201浏览量 回答数 1

3

回答

代码托管git clone的账户和密码是什么

2017-06-15 16:52:53 8250浏览量 回答数 3

0

回答

dd.runtime.permission.requestAuthCode ios下报错

2016-10-28 11:49:32 4294浏览量 回答数 0

1

回答

把web项目部署到tomcat上去后,好像连接数据库发生错误,但是要怎么看报错的内容

2016-03-10 11:06:39 3277浏览量 回答数 1
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
2
文章
21564
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载