SSM插入数据库中文字符为?乱码

本文总结了SSM框架在插入数据库时遇到的中文乱码问题,包括pom.xml配置、web.xml配置、db.properties或数据库URL设置以及检查MySQL数据库字符集的解决方法。

项目场景:

总结一下SSM插入数据库中可能会出现的中文乱码的几种解决方式。


问题描述:

调用插入语句时,数据库或者页面上中文字符为???乱码等。
在这里插入图片描述


解决方案:

1.在pom.xml文件中设置字符编码

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

2.在web.xml文件中设置

    <!--针对 post 乱码-->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

3.在db.properties文件或者在设置数据库链接的url文件中添加?useUnicode=true&characterEncoding=UTF-8

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=admin

4.数据库安装时编码格式未设置(以下针对MySQL数据库)可以在数据库中输入指令查看字符编码修改,或者重装。
查看:
show variables like ‘character_set_database’;
修改:
alter database <数据库名> character set utf8;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值