LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: ArthurLin 於 十二月 02, 2005, 09:41:12 上午



主題: Mysql轉換時出現亂碼
作者: ArthurLin十二月 02, 2005, 09:41:12 上午
女友的網誌因為流量、Cpu lOADING 、sql Laoding 與 垃圾攻擊,
決定換到大型的虛擬主機商,不過在mysql備份與回存作業後,
plog中文顯示出現很多錯字與亂碼,例如『不』->『丿』

用phpadmin把資料倒出來時,所看到的資料是亂碼
倒回去後plog可以顯示大約一半的正常文字,其他是亂碼及錯字
文章數與迴響數都很多,實在是不可能一篇一篇貼回去

請問要如何才能成功備份與回存mysql 到不同的 mysql裡?

舊虛擬主機:
phpMyAdmin 2.6.4-pl2
MySQL 版本 4.1.13-standard
ssh不給登陸
資料庫的資料從0.32->1.0->1.02 一直升級升上來的
plog顯示utf-8 ,phpmyadmin文字編碼 與 連線校對 設為utf-8,
但透過phpadmin看起來是亂碼,不過plog可以顯示正常

新虛擬主機(Dreamhost)
phpMyAdmin 2.6.4-pl3
MySQL 版本 4.1.14-Debian_5-log
SSH聽說可以用,但我試不成功
php5 要php 4也可以
phpmyadmin文字編碼 與 連線校對 設為utf-8,


主題: Re: Mysql轉換時出現亂碼
作者: james十二月 02, 2005, 09:55:25 上午
Hi ArthurLin:

我就我知道的部份回答看看.
1.phpmyadmin 2.6.4應該支援utf8的顯示,所以只要把phpmyadmin的language選項設成zhtw-utf8,應該會看到正常的中文字.

2.不曉得到出來的sql檔你有沒有開啟過呢??

現在想到的是這些. :-)

希望能幫上一點忙.

James.


主題: Re: Mysql轉換時出現亂碼
作者: ArthurLin十二月 02, 2005, 10:25:36 上午
1.phpmyadmin 2.6.4應該支援utf8的顯示,所以只要把phpmyadmin的language選項設成zhtw-utf8,應該會看到正常的中文字.
2.不曉得到出來的sql檔你有沒有開啟過呢??

先感謝您的回答^^
1.IE顯示設定為utf-8  ,phpmyadmin的language也是zhtw-utf8,但就是亂碼
2.倒出來的sql doc cvs xml 都是亂碼


主題: Re: Mysql轉換時出現亂碼
作者: james十二月 02, 2005, 10:35:41 上午
1.phpmyadmin 2.6.4應該支援utf8的顯示,所以只要把phpmyadmin的language選項設成zhtw-utf8,應該會看到正常的中文字.
2.不曉得到出來的sql檔你有沒有開啟過呢??

先感謝您的回答^^
1.IE顯示設定為utf-8  ,phpmyadmin的language也是zhtw-utf8,但就是亂碼
2.倒出來的sql doc cvs xml 都是亂碼

這~~我到是沒遇過. :-S可能我就幫不上忙了.
順道問一下,你是用那個軟體開到出來的檔案呢?

James.


主題: Re: Mysql轉換時出現亂碼
作者: ArthurLin十二月 02, 2005, 01:18:15 下午
引用
順道問一下,你是用那個軟體開到出來的檔案呢?

SQL =>EmEditor v3 or 筆記本
DOC => word 2003
CVS => Execel 2003
xml => EmEditor v3 or frontpage


主題: Re: Mysql轉換時出現亂碼
作者: lss十二月 02, 2005, 01:41:19 下午
hi ArthurLin:

請問一下,你的兩個資料庫的連線校對,不是 phpMyAmin 的語系哦!

跟據你的描述,舊的資料庫在 phpMyAdimin 使用 utf-8 時卻看到亂碼,我猜可能是:
1. LifeType 資料庫使用 latin-1 編碼,但 MySQL 用 utf-8_general_ci 連線校對,或是
2. LifeType 資料庫使用 utf-8 編碼,但 MySQL 用 latin-1 / big5 連線校對。

你先確認一下是不是這個狀況。


主題: Re: Mysql轉換時出現亂碼
作者: markwu十二月 02, 2005, 04:56:38 下午
Hi Arthur:

好久不見,還在大陸嗎?

這個有點複雜,我建議你要用 ssh 來 restore 回 dream host,作業方式如下:

1. 透過 phpmyadmin 從你的網站把資料庫 backup(dump) 出來
2. 在 dream host 先 create 一個 database
  - 這時候他的連線校對是 latin1-swidish (這可以改)
  - 以及 default-character-setting 是 latin1 (這不能改)
3. 進入 dreamhost 的 phpmyadmin>>管理,把連線校對預設改為 utf8-general。這個一定要作,要不然資料匯入時,他的連線校對是 latin1-swidish
4. 進入 dreamhost 的 ssh (要先到 domain management 打開才能連線, windows 下可用 putty 來連)
5. 把資料檔用 FTP 上傳到 dream host
6. 在 ssh 打入

mysql -uname -ppassword -hyourdb.basicom.org -Ddbname --default-character-set=latin1 < yourdump.sql

黑色粗體自分別是 mysql 的 username, password, mysql server, db name, sql dump file
** 注意 --default-character-set=latin1 一定要加。因為這些主機商,基本上安裝 mysql 時都是用 latin1 的預設值。如果不加,就會變亂碼。

7. 完成

這樣才算把資料 dump 完成。

Mark


主題: Re: Mysql轉換時出現亂碼
作者: james十二月 02, 2005, 09:28:02 下午
Mark回應這篇應該列入虛擬主機的精華囉 ^_^
James


主題: Re: Mysql轉換時出現亂碼
作者: ArthurLin十二月 03, 2005, 09:29:56 上午
Hi Mark兄:

好久不見^^前陣子離開大陸到加拿大進修英文,最近又到海南島這邊來了,
如果plog的同好有到海口出差的,可以聯絡我代為照顧^^

照著Mark兄的步驟做一遍,很可惜的還是失敗....
還是有一半的文字有問題,不過至少有個方向了,
我再研讀一下關於mysql的文章,
試試看能不能找出問題的癥結點

BTW Thanks a lot