1. 程式人生 > >向數據庫中存入數據,中文亂碼問題

向數據庫中存入數據,中文亂碼問題

pan tables database conn ini文件 system 技術 錯誤 default

問題發現:這裏拿eclipse創建hibernate為例(其他類型往數據庫存值亂碼問題都大差不差),用hibernate往數據庫存值出現亂碼後:

  辦法:(最好就是所有開發工具全部統一編碼格式)

1.開發工具默認字符編碼是否是UTF-8。

  如eclipse

技術分享圖片

2.數據庫的字符集編碼格式是否是utf-8

  開啟mysql數據庫 ,命令行 show variables like ‘character%‘;

技術分享圖片

如何修改了,一個是修改my.ini文件

[mysqld]
port = 3306
basedir=D:/software/javaee/mysql              //這裏一定註意一定用/,如果用\可能剛開始安裝時候正常使用,只要重新開機啟動mysql就可能報1067錯誤,特別是放在c盤以外註意
datadir=D:/software/javaee/mysql/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]
default-character-set=utf8

第二種,命令行,不推薦使用

mysql> set character_set_client=utf8 ;

mysql> set character_set_connection=utf8 ;

mysql> set character_set_database=utf8 ;

mysql> set character_set_database=utf8 ;

mysql> set character_set_results=utf8 ;

mysql> set character_set_server=utf8 ;

mysql> set character_set_system=utf8 ;

重啟服務器 命令行net start mysql 讓它重啟

如果還是不行,還亂碼,註意加載連接路徑時候數據庫名後面加上

  

jdbc:mysql://localhost:3306/hibernate_crm?useUnicode=true&characterEncoding=UTF8

這樣在連接道路上指定其編碼格式

向數據庫中存入數據,中文亂碼問題