這幾天基于Heritrix寫了一個爬蟲,用到mysql,在導入導出數據時,遇到一些亂碼問題,好不容易解決了,記錄一下,以備查看。
先說明一下自己的環境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47。
我想把本機數據庫內的數據遷移到另一臺機器上,于是使用Workbench中自帶的import/export功能,其實就是調用mysqldump。不幸的是,出現了版本不一致的錯誤。
錯誤沒治了,最終找到解決方案,可以指定mysql的mysqldump,路徑為:/usr/local/mysql/bin/mysqldump,這樣是把數據導出為sql語句的insert語句。
由于需要是把數據導出為excel,所以通過mysql控制臺使用select語句把數據導出到excel文件中。
下面先介紹怎么導出為excel文件,然后介紹怎么導出為insert語句。
1、通過終端操作。
1 cd /usr/local/mysql/bin/
2、到達bin目錄后,可以ls -l命令看看當前目錄有哪些程序可以用,這里先用mysql,命令格式為:
mysql -h主機IP -u用戶名 -p密碼
如:
1 ./mysql -hlocalhost -uroot -p123456
注意前面加的"./"。
這時就進入mysql命令控制臺,終端上顯示為:
3、然后通過show databases命令查看當前的所有數據庫,使用use命令選擇進入某個數據庫,注意每個命令都要以英文分號“;”結束。
4、使用sql語句導出需要的數據,sql語句不限于單個表的查詢。由于我的數據庫編碼是utf8格式,而office默認的編碼則是gb2312,所以當某個字段中包含中文時,導出到excel后,中文內容是會亂碼的,此時需要convert轉換編碼,具體使用方式:
我試著把文件保存到桌面,但始終提示沒有權限,應該是和用戶有關吧,無視了。當使用“./”這個路徑保存時,實際是保存到了/usr/local/mysql/data下面。打開看看,喲西,不亂碼了。
精彩內容,請點擊下一頁!
上一篇 Access數據庫技術(43)