快速解決mysql導出scv文件亂碼、躥行的問題
工作原因,常常不能實現(xiàn)完全的線上化(即,所有數(shù)據(jù)都在線上完成,不需要導入導出),而導出Excel常常比修煉成仙還慢,因此,我們將數(shù)據(jù)庫文件導出到本地使用的時候,常常使用的方法的是導成CSV格式。
而csv格式的也常常出現(xiàn)導出的中文亂碼,或者躥行等問題,從而陷入兩難境地。老板要數(shù)據(jù),你卻導不出來,急死人了。
1.問題:我們原本要把如左圖所示的數(shù)據(jù)庫中的數(shù)據(jù)導出成他原本的樣子,無奈成了右邊的亂七八糟的東西;
2.解決:
a:原本怎么導出為csv的還是怎么導;
b:選中你導出的csv文件,右鍵選擇打開方式為【記事本】;
c:文件-->另存為-->編碼選擇UTF-8-->保存;(文件名和保存類型都不需要改,點擊保存之后會提示該文件已存在,是否替換,選擇【是】就好)
d:打開剛剛保存的文件,只是這次選擇打開方式為excel,然后數(shù)據(jù)就會像你數(shù)據(jù)庫里的樣子一樣,干干凈凈(如下圖)。
補充知識:mysql的備份--導入導出--并解決亂碼問題
1.導出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
2.導出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3.導出一個數(shù)據(jù)庫結構
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個create語句之前增加一個drop table
4.導入數(shù)據(jù)庫
1) 從 文件恢復到數(shù)據(jù)庫
mysql -uroot -p dbName < fileName
例如:從 test.sql 恢復到 數(shù)據(jù)庫db1
mysql -uroot -p db1 <test.sql
2) 常用source 命令 進入mysql數(shù)據(jù)庫控制臺,
如 mysql -u root -p mysql>use 數(shù)據(jù)庫 然后使用source命令
后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source d:/dbname.sql
5.解決導出亂碼
例如:
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
那么導入數(shù)據(jù)時也要使用--default-character-set=utf8:
mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
統(tǒng)一編碼后,mysql數(shù)據(jù)遷移中的亂碼問題就解決了。
以上這篇快速解決mysql導出scv文件亂碼、躥行的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. 用腳本和查詢主動監(jiān)視Oracle 9i性能2. 全面解析IBM DB2 9中的查詢優(yōu)化新特性3. 實例講解Oracle數(shù)據(jù)庫自動增加ID的sql4. Sql Server下數(shù)據(jù)庫鏈接的使用方法5. 段云峰:DB2 9對企業(yè)有3點幫助6. SQL Server使用PIVOT與unPIVOT實現(xiàn)行列轉(zhuǎn)換7. SQL SERVER 2005 同步復制技術8. 如何手動刪除 SQL Server 2000 默認實例、命名實例或虛擬實例9. sql server 2005 批量導入導出10. SQLMAP插件tamper模塊簡介
