Mybatis + Mysql 插入數據時中文亂碼問題

近日跟朋友一塊兒創建一個項目,用的是spring+mybatis+mysql。mysql

今天碰到一個mybatis向mysql中插入數據時,中文顯示爲'???'的問題,拿出來講下。spring

 

對於數據庫操做中出現的中文亂碼,通常有兩種狀況:sql

  • 數據庫自己設置
  • 鏈接數據庫時,jdbc的編碼設置

對於第一種狀況,能夠查看自身的mysql設置:數據庫

show variables like '%character%'

 

個人問題是第二種狀況,須要在mybatis的配置文件中設置, 以前個人鏈接字段是: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.url

這裏有一點須要注意的是,在xml配置文件中,須要將'&'符號轉義,因此這裏要寫成'&amp;'。spa

 

若是是在配置文件中,則沒法轉義,應爲: xxxx.jdbc.url=jdbc:mysql://127.0.0.1:8080:3306/uct?useUnicode=true&characterEncoding=UTF-8 code

相關文章
相關標籤/搜索