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

2012-10-17 18:26:58來(lái)源:斷橋殘雪部落格作者:

最近在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ù)亂碼問(wèn)題就是統(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ù)亂碼問(wèn)題就是統(tǒng)一導(dǎo)入導(dǎo)出的編碼,linux默認(rèn)的是utf8編碼,而windows是gbk編碼,所以會(huì)出現(xiàn)上面的亂碼問(wèn)題。

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

首先要做的是要確定你導(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ù)遷移中的亂碼問(wèn)題了