• Mybatis + Mysql 插入数据时中文乱码问题


    近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql。

    今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下。

    对于数据库操作中出现的中文乱码,一般有两种情况:

    • 数据库本身设置
    • 连接数据库时,jdbc的编码设置

    对于第一种情况,可以查看自身的mysql设置:

    show variables like '%character%'

    我的问题是第二种情况,需要在mybatis的配置文件中设置, 之前我的连接字段是:

    复制代码
        <!-- 1. 数据源 : DriverManagerDataSource -->
        <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://127.0.0.1:3306/uct"/>
            <property name="username" value="root"/>
            <property name="password" value=""/>
        </bean>
        
    复制代码

    修改后为:

    复制代码
        <!-- 1. 数据源 : DriverManagerDataSource -->
        <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://127.0.0.1:3306/uct?useUnicode=true&amp;characterEncoding=utf-8"/>
            <property name="username" value="root"/>
            <property name="password" value=""/>
        </bean>
        
    复制代码

    可以看到在连接的url后添加了useUnicode和characterEncoding的值,设定为utf-8.

    这里有一点需要注意的是,在xml配置文件中,需要将'&'符号转义,所以这里要写成'&amp;'。

    如果是在配置文件中,则无法转义,应为: xxxx.jdbc.url=jdbc:mysql://127.0.0.1:8080:3306/uct?useUnicode=true&characterEncoding=UTF-8 

  • 相关阅读:
    python3 基本使用多线程
    img前置显示屏装load图片
    leetcode
    亲串 (hdu 2203 KMP)
    基于VC面部识别软件(识别出人脸特征)
    IT该忍者神龟Oracle 树操作(select…start with…connect by…prior)
    It&#39;s about trust
    hdu 2128 Frog(简单DP)
    第四十天 阿乐在其中—Android小游戏的飞机(四)加入敌人
    Mac OS X通过结合80port
  • 原文地址:https://www.cnblogs.com/qianqiu-1026/p/8890484.html
Copyright © 2020-2023  润新知