解決MySQL數(shù)據(jù)庫導(dǎo)入導(dǎo)出數(shù)據(jù)亂碼的問題

2012-10-17 18:26:58來源:斷橋殘雪部落格作者:

最近在linux上面用mysqldump導(dǎo)出數(shù)據(jù),放在windows系統(tǒng)中導(dǎo)入就會(huì)出現(xiàn)中文亂碼,然后就會(huì)導(dǎo)致出現(xiàn): Unknown MySQL server host和Can't connect to the server的錯(cuò)誤。解決mysql導(dǎo)入導(dǎo)出數(shù)據(jù)亂碼問題就是統(tǒng)一導(dǎo)入導(dǎo)

最近在linux上面用mysqldump導(dǎo)出數(shù)據(jù),放在windows系統(tǒng)中導(dǎo)入就會(huì)出現(xiàn)中文亂碼,然后就會(huì)導(dǎo)致出現(xiàn): Unknown MySQL server host和Can't connect to the server的錯(cuò)誤。解決mysql導(dǎo)入導(dǎo)出數(shù)據(jù)亂碼問題就是統(tǒng)一導(dǎo)入導(dǎo)出的編碼,linux默認(rèn)的是utf8編碼,而windows是gbk編碼,所以會(huì)出現(xiàn)上面的亂碼問題。

解決mysql導(dǎo)入導(dǎo)出數(shù)據(jù)亂碼問題

首先要做的是要確定你導(dǎo)出數(shù)據(jù)的編碼格式,使用mysqldump的時(shí)候需要加上--default-character-set=utf8,例如下面的代碼:

mysqldump   -uroot  -p  --default-character-set=utf8   dbname tablename  >  bak.sql
那么導(dǎo)入數(shù)據(jù)的時(shí)候也要使用--default-character-set=utf8:

mysql -uroot -p --default-character-set=utf8 dbname < bak.sql

這樣統(tǒng)一編碼就解決了mysql數(shù)據(jù)遷移中的亂碼問題了

關(guān)鍵詞:MySQL數(shù)據(jù)庫