用mysql工具mysqldump備份數據庫時,如果MySQL服務器上的字符集是 latin1 的,第二世界整理發布mysqldump 出來的中文都是亂碼!一個簡單的辦法是在寫備份語句時加上默認字符集選項,如:
代碼如下 復制代碼mysqldump -h 127.0.0.1 -P 3307 -u username --default-character-set=gbk -p databasename > dumpfile.txt
-h 主機
-P 端口,必須單獨用此選項,而不能連續寫在主機地址後面
-u 用戶名
--default-character-set 知道數據內容是中文時可以指定為 gbk,這樣即使數據庫本身設置字符集為 latin1 出來的文件中文也能正常!
-p 密碼
databasename 數據庫名
> 後面是輸出文件的路徑
mysql命令行導入數據時出現亂碼
有時由於sql數據量比較大,需命令行下導入數據,可會遇到導進的數據出現亂碼,執行下面命令可以解決:
代碼如下 復制代碼1. use database;
2.set character set utf8;(eg: GBK)
3.source example.sql (sql文件路徑)
總結導入導出中文亂碼
總結
SQL出現亂碼很可能是數據庫的全局編碼和某個數據庫的編碼不一致。可以在導出的時候加上編碼,可以修改成utf8或者gbk。
代碼如下 復制代碼mysqldump –u用戶名--default-character-set=utf8 -p 數據庫名 >文件路徑文件名.sql