2020-10-20

utf8mb4不生效,昵称符号保存出错的问题

Mysql数据库设置的编码是utf8,表wxuser_info 字段nick_name中要插入类似💕🦄的内容,java后台报 java.sql.SQLException: Incorrect string value: ‘%E7%A7%8B%F0%9F%92%95%F0%9F%A6%84’ for column ‘nick_name’ at row 1。
解决方法:
1)修改数据库字段:
ALTER TABLE wxuser_info MODIFY COLUMN nick_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT ‘微信昵称’ ;

2)java中数据库连接设置

我项目基于spring-boot,用的是druid数据源:
在spring-context.xml里配置,必须配置connectionInitSqls属性才可以插入utf8mb4字符:

< bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
	
	<!-- 此处省略一些配置 -->
	
	<!--下面一行是关键-->
	<property name="connectionInitSqls" value="set names utf8mb4" />
</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值