Mybatis + Mysql 插入中文顯示問號解決方案

近日新建項目使用框架mybatis+mysql,插入中文時數據庫中顯示爲'???',故做此筆記。 


對於向utf-8格式MySQL數據庫中保存亂碼的情況,主要爲三種: 

1)項目編碼沒有采用utf-8格式; 

2)MySQL編碼和排序規則沒有采用utf-8格式; 

3)鏈接數據庫的mybatis配置運行環境時,沒有置頂編碼字符集。 


本項目中產生中文亂碼問題是由於第三種原因造成的,原mybatis配置文件爲: 

<!-- 配置運行環境 -->
<environments default="development">
	<environment id="development">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="com.mysql.jdbc.Driver" />
			<property name="url" value="jdbc:mysql://localhost:3306/student" />
			<property name="username" value="root" />
			<property name="password" value="123456" />
		</dataSource>
	</environment>
</environments>


修改後的配置文件爲: 

<!-- 配置運行環境 -->
<environments default="development">
	<environment id="development">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="com.mysql.jdbc.Driver" />
			<property name="url" value="jdbc:mysql://localhost:3306/student?useUnicode=true&amp;characterEncoding=utf-8" />
			<property name="username" value="root" />
			<property name="password" value="123456" />
		</dataSource>
	</environment>
</environments>


可以看到在連接的url後添加了useUnicode和characterEncoding的值,設定爲utf-8後問題解決;這裏有一點需要注意的是,在xml配置文件中,需要將'&'符號轉義,所以這裏要寫成'&amp;'。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章