在google baidu 搜尋出來的結果,千篇一律,都一樣。按照其說明升級,完了後依然是亂碼。
這幾天,自己研究了下mysql的 mysqldump和source這兩個命令,終於解決了升級亂碼問題。
好了,接下來說說我是怎麼做的吧。
我的mysql是4.0要升級到5.0 。資料庫名稱是 bbs
首先,在服務中停止mysql4.0服務。然後安裝5.0.
安裝完成後,在mysql4.0的安裝目錄下的 data 目錄中拷貝 bbs 目錄 (也就是bbs資料庫)到mysql5.0的data目錄下。
然後我們在命令列模式下,進入mysql5.0的安裝目錄下的 bin 目錄,輸入
mysqldump -u root -p --default-character-set=latin1 bbs >c:\bbsBak.sql
在這句話中,--default-character-set=latin1 這是
mysqldump命令的一個參數,用來設定編碼的。因為在4.0下,沒有utf8編碼的,預設是 latin1編碼,所以,我們這裡就設定為
latin1 了。 bbs 就是 bbs 資料庫.c:\bbsBak.sql的意思是,把bbs資料庫匯出到C盤,儲存為 bbsBak.sql 。
執行這句話後,提示輸入密碼,也就是 root 的密碼。輸入後,過一會兒,去C盤看看,是不是多了個 bbsBak.sql 的檔案。
然後,我們開啟這個檔案(注意,最好用EditPlus或者其他可以選擇編碼的工具),將裡面所有的 latin1替換為utf8, 再儲存。
現在,我們再回到命令列模式,輸入 mysqldump -u root -p 斷行符號,輸入正確的密碼後,輸入 drop database bbs; 也就是刪除現有的bbs資料庫。
再下來,我們需要再建立一個 bbs 資料庫,建立的語句是這樣的:create database bbs character set utf8;
character set utf8;是設定資料庫預設編碼是 utf8.
建立完成後,我們需要匯入剛剛產生的 bbsBak.sql 。語句是這樣的:source c:/bbsBak.sql
注意,這裡是 / 不是 \
這樣,就算大功告成了。。。。
如果有什麼不明白的,留言給我。