根據我的經驗是mysql導入或導出數據庫是時出現亂碼一般是文檔編碼不統一導致的,下面我來給大家介紹幾種解決亂碼的一些解決方法。
解決方法:
第一步:還原時建立數據庫和表都為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代碼;