Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




May 28, 2005
[DreamHost] MySQL 4.1 纏鬥篇

昨天花了一整天的時間在把主機資料庫及 PHP 程式的部份搬到 DreamHost 去。

由於 DreamHost 的 PHP 並沒有 iconv 及 mbstring 的 function ,但是有提供自行安裝 PHP 5 的步驟

安裝前記得 Quota 一定要先設大一點,裝好之後 iconv 跟 mbstring 都有了,這樣需要 iconv 的程式才能正常執行。

再來最麻煩的部份是 MySQL 4.1,因為 MySQL 4.1 的資料編碼已經不再支援 Big5 ,只能用連線校對的方式,但是這樣對 Porting 並沒有幫助,只好手工做些修正。

目前我先處理 UTF-8 的部份,以 MovableType 為例,先用 mysqldump 原來主機上的資料給拿出來:

mysqldump --opt -hlocalhost -uroot -p mt > mt.sql

再來把 mt.sql 傳到 DreamHost 上去,準備做匯入的動作。

在匯入前要先注意的是「不要把連線校對改為 utf8 字元集」(如 utf8_general_ci),只要用預設的 latin1_swedish_ci 就可以了。這個部份因為我手賤先改了,結果讀資料庫出來卻是一堆 ? 問號。
(如下圖所示)

20050528_01.gif

DreamHost 上的 mysql 連線指令已經很貼心的寫在他們的畫面上,所以照貼就可以了,並加入紅字的部份匯入資料庫就可以了。

mysql -u neo -p -h mt.neo.com.tw mt   <  mt.sql

這時匯入後再看畫面就是正常的,而且程式完全不用改。

20050528_03.gif

但是付出的代價就是「phpMyAdmin 看到的字全部都是亂碼」。

20050528_02.gif

關於這點,phpMyAdmin 亂碼的暫時替代解決方案請看下一篇


 
由 Neo 發表於 May 28, 2005 02:29 PM 收進你的MyShare個人書籤  

哇 ~ 真是太感謝了 ...
剛好在移機到 DreamHost 的時候也遇到這樣子的問題
謝謝 Neo 提供解決方案 ... :D


CHLiang 發表於 May 31, 2005 09:48 AM

目前我也是從自行架設的linux主機,把mt轉到外租的host去,新的主機也是mysql4.1,我使用mt的匯出功能,匯入新的host之後卻發生部分中文變亂碼,奇怪的是'許功蓋'都正常,反而像'勝'、'理'等字變成其他字,不像DreamHost用sql連線,不知是否可以建議有什麼解決方案,謝謝。


阿肥 發表於 June 2, 2005 03:19 PM

先檢查 MT 匯出的時候是不是「勝」、「理」就已經變其它字了。


Neo 發表於 June 6, 2005 02:01 AM

您說 MySQL 4.1 的資料編碼已經不再支援 Big5

小弟認為是支援的, 因為不論是 MS-Windows 或 Linux 平台
小弟自己管理的主機, 都可以在 phpMyAdmin 下看到正常的繁體中文字
但是目前 DreamHost 小弟做不到


pcboy 發表於 October 18, 2005 07:31 AM

大大,小弟還是有些問題,就是還原起來會出現
/includes/functions.php on line 3319

這個是什麼意思?
我用的版本是vbb3.54


simon 發表於 September 16, 2006 01:10 AM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.