Mysql中文亂碼及匯出sql語句和Excel的相關解決方案

來源:互聯網
上載者:User

   這幾Apsara Infrastructure Management Framework於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下面。開啟看看,喲西,不亂碼了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.