基于SSM框架插入mysql数据库中文乱码(显示问号)

基于SSM框架插入mysql数据库中文乱码(显示问号)
mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="cn.tedu.cloud_test.dao.UserDao">
    <insert id="save" parameterType="cn.tedu.cloud_note.entity.User">
        INSERT INTO cn_user
        (cn_user_id,cn_user_name,cn_user_password,cn_user_nick)
        VALUES
        (#{cn_user_id},#{cn_user_name},#{cn_user_password},#{cn_user_nick})
    </insert>
</mapper>

db.properties的URL和driver
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/cloud_note?useUnicode=true&characterEncoding=utf8;zeroDateTimeBehavior=convertToNull

测试代码
@Test
    public void test2(){
        User user = new User();
        user.setCn_user_id("12345");
        user.setCn_user_name("宇文玥");
        user.setCn_user_password("1234");
        user.setCn_user_nick("公子");
        udao.save(user);
    }
数据库显示乱码

img


数据库单独插入中文,显示正常

img

数据库建表也为UTF-8编码

img

这种一般是原生代码和idea编码格式不一样

你找到idea右下脚中的

img

点击进去后
先选择gbk编码,然后点击convert,再yes

再执行一遍上面的操作,选择utf-8格式
应该就没有问题了,实在不行就从idea设置上修改编码,和数据库上修改编码格式