程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql中文亂碼解決方案精華集錦

mysql中文亂碼解決方案精華集錦

編輯:關於MYSQL數據庫
 進入mysql,用show variables查看。這裡可以查看到你的字符集,character_set_server是服務器編碼。現在我們默認的是latin1要改變服務器的編碼必須重新啟動服務器,我們先用MySQLadmin –uroot shutdown關閉服務器,然後MySQLd –C GBK啟動服務器 –C是character_set_server的一個簡寫(可以也可以寫成MySQLd –character_set_server gbk).這樣修改以後我們再進入MySQL查看就會顯示。這樣我們就把服務器和數據庫的編碼改為了GBK。

  現在我們就可以插入中文字符串了,但是為什麼有時間還是會顯示

  Exception in thread "main" com.MySQL.jdbc.MySQLDataTruncation:

  Data truncation: Data too long for column 'name' at row 1

  MySQL中文亂碼解決中出現上述情況,這是因為你只是修改了MySQL的服務器的字符編碼,並沒有修改已經有數據庫的編碼,這時候你需要手動的把data目錄下的數據庫中的db.opt中的編碼改為

  default-character-set=gbk default-collation=gbk_chinese_ci

  這樣修改以後你在重啟服務器就可以插入中文了。但是這時候還有個問題就是在你應用程序當中顯示的是中文字符,但是在命令窗口還是亂碼。這時候你注意我們上面的character_set_clIEnt字符還是latin1當然顯示的是亂碼咯喲。所以你進入MySQL客戶端程序的時候因該把客戶端默認的編碼改為gbk才能顯示正常。你可以在MySQL裡修改,也可以在登陸的時候MySQL –uroot –default-character-set=gbk修改

  如此以來就解決了MySQL中文亂碼解決了。

  上面介紹的解決MySQL中文亂碼方法還是非常簡單的,大家只要認真看一下應該都能學會。特別是准備在mysql方面發展的朋友,這可是mysql從業人員必備知識。當然,本文介紹的這種解決MySQL中文亂碼的方法只是最常見的一種,遇到特殊問題還是要特別對待的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved