解決方案:
第一步:還原時建立資料庫和表都為utf8格式(建議utf8,當然gbk或者gb2312也行)
代碼如下:
CREATE DATABASE `shegongku` DEFAULT CHARACTER SET utf8
CREATE TABLE `members` (
`uid` mediumint(8) unsigned NOT NULL default '0',
`username` varchar(15) NOT NULL default '',
`password` varchar(40) NOT NULL default '',
`salt` varchar(16) default NULL,
`email` varchar(60) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
第二部,將sql檔案的編碼轉換下,轉成utf8格式,可以notepad2,也可以用UltraEditor進行轉換,再在第一行sql檔案的添加一行 set names utf8 儲存。
第三部,匯入。一般就不會出現亂碼了,這時如果你在 終端cmd下重新查詢發現還是亂碼的話,這個不是資料庫問題,而是顯示的問題,在終端裡輸入 set names gbk,這樣中文就顯示正常了
續上檔案
方法一: 通過增加參數 –default-character-set = utf8 解決亂碼問題
mysql -u root -p password < path_to_import_file –default-character-set = utf8
方法二: 在命令列匯入亂碼解決
1. use database_name;
2. set names utf8; (或其他需要的編碼)
3. source example.sql (sql檔案存放路徑)
方法三: 直接粘貼sql檔案裡的代碼
1. 開啟SQLyog用戶端軟體;
2. 定位到SQL編輯器,然後用記事本開啟剛剛匯出的SQL檔案;
3. 複製檔案中所有SQL語句到SQL編輯器當中,執行這些SQL代碼;