解決mySql中文亂碼以及Eclipse插入中文出現亂碼
阿新 • • 發佈:2018-12-15
cmd --->命令列
mySql查詢資料庫出現中文亂碼:
1、登入資料庫,mysql -u root -p ,輸入密碼,登入
2、查詢mysql編碼 : show variables like "%char%";
3、正確編碼集一般如下,當然,client和connection可以選擇gbk,那麼eclipse編碼集也應為gbk,保持一致;
從上圖中可以看到 MySQL 有六處使用了字符集,分別為:client 、connection、database、results、server 、system。其中與伺服器端相關:database、server、system(如果不想亂碼,那麼其應該是utf-8);與default-character-set=utf8 character-set-server=utf8 ,記住serverd 一定要改... (這裡有些同學,可能剛開始啟動寫sql語句,都不會出現亂碼,那是因為查詢百度解決方案將其編碼方式修改成了utf8,但未修改my.ini,後面又出現亂碼,癥結就在此 ,因為每一次啟動,都是利用my.ini的啟動方式啟動,所以務必修改),在這裡,為以防萬一可以做如下設定;
set character_set_database=utf8;
set character_set_server=utf8;
set character_set_client=gbk;
set character_set_connection=gbk;
3、新版本找不到my.ini檔案 ,這裡相對各版本各異,也找了許多方法,也許新增上面語句會奏效,但下了幾個版本都無效,最後決定先不用高版本...;
以上任何一種方式,都記得重啟server ,否則不會生效,重啟後再檢視mysql編碼, 我在百度裡查了重啟server的許多快捷語言,發現行不通,於是就關機重啟了...
重啟後會發現 character_set_server 為 utf8 ;
select * from table時顯示第一張圖還是亂碼
把上面的編碼方式改變! set character_set_results=gbk; 就可以正常顯示!
這是 再執行 insert 語句,會發現不會亂碼了,如果再次亂碼,set names gbk或 utf8 試試,出現亂碼就是編碼格式不對....這是兩天沒找到答案的最終得出結果就是編碼格式的不對; 還有一些同學,明明都改對了,也查詢不到,那可能是因為資料庫和表格建立的時候,沒有使用utf8 ,此時重新建立一個數據庫和表格,再試試; eclipse插入語句,中文亂碼,而mysql 命令列以及客戶端工具不是亂碼: eclipse預設編碼格式都是gbk ,百度裡有人寫的是 保持一致,但更多的是 將編碼格式改為utf8,有四個地方需要修改 (最好全改) 1、window--preferences--General--workspace 左下角選擇 Other utf-8; 2、project-properties 選擇UTF-8 3、右擊自己新建的專案,properties選擇 utf-8 4、右擊自己建立的class,properties,選擇 utf-8 , 再次插入資料,看看結果,基本都不會出問題;