[問題]還原 PHPBB 資料庫至 MySQL 4.1.21

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
doraemonalex
星球普通子民
星球普通子民
文章: 5
註冊時間: 2007-06-10 22:47

[問題]還原 PHPBB 資料庫至 MySQL 4.1.21

文章 doraemonalex »

各位大大好,

小弟剛剛租用了新的伺服器,新伺服器裝上了 MySQL 4.1.21,同時亦裝上了 UTF-8 版的 PHPBB 2.0.22;現時的情況如下:

譬如說文章內容是:
文章內容 寫:鴨洲利南道
深水埗南昌邨昌頌樓
在 phpMyAdmin 內看呢,卻是一堆亂碼:
亂碼 寫:鴨洲利南道
æ·±æ°´åŸ—å—æ˜Œé‚¨æ˜Œé Œæ¨“
當我儲存起這堆亂碼,在 phpMyAdmin 移除後再還原,PHPBB 依然能夠正確顯示文章內容;但是當我在 phpMyAdmin 內直接以文章內容取代那些亂碼,PHPBB 卻不能正確顯示文章內容;

這樣當我要透過 phpMyAdmin 還原舊有的資料庫時 (在 MySQL 3.x 上),文章內容便不能夠正常顯示;

小弟曾經參看過其他大大有關資料庫 Big5 轉 UTF-8 的 Tutorial,但是我並不知道轉換完成後的效果是否像上述的亂碼,故特此另行貼文,詢問正確之還原方法;

希望各位大大能夠多加指點,謝謝! :-D

chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

輸出 (備份) 的時候內容就必須是正確的,否則沒辦法還原
這樣當我要透過 phpMyAdmin 還原舊有的資料庫時 (在 MySQL 3.x 上),文章內容便不能夠正常顯示
不要把 MySQL 4.1+ 的東西丟回去 MySQL 4.0/3.23 上面,兩種版本的資料庫架構差異很大...
小弟曾經參看過其他大大有關資料庫 Big5 轉 UTF-8 的 Tutorial,但是我並不知道轉換完成後的效果是否像上述的亂碼,故特此另行貼文,詢問正確之還原方法
理論上就像這樣沒錯

doraemonalex
星球普通子民
星球普通子民
文章: 5
註冊時間: 2007-06-10 22:47

文章 doraemonalex »

chiouss 寫:輸出 (備份) 的時候內容就必須是正確的,否則沒辦法還原
這樣當我要透過 phpMyAdmin 還原舊有的資料庫時 (在 MySQL 3.x 上),文章內容便不能夠正常顯示
不要把 MySQL 4.1+ 的東西丟回去 MySQL 4.0/3.23 上面,兩種版本的資料庫架構差異很大...
輸出時候的內容是 Big5 格式
過往亦曾在 MySQL 3.x 上還原

可能講得不清楚
是把原本在 MySQL 3.x 的東西
在 MySQL 4.1 上還原 :-D

chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

doraemonalex 寫:可能講得不清楚
是把原本在 MySQL 3.x 的東西
在 MySQL 4.1 上還原 :-D
那...sql 前面加上

代碼: 選擇全部

set names utf8;
之類的應該就可以收工了 :mrgreen:
phpBB 裡面該改的東西也要記得改 (ex. php 檔案,語系)

doraemonalex
星球普通子民
星球普通子民
文章: 5
註冊時間: 2007-06-10 22:47

文章 doraemonalex »

chiouss 寫:
doraemonalex 寫:可能講得不清楚
是把原本在 MySQL 3.x 的東西
在 MySQL 4.1 上還原 :-D
那...sql 前面加上

代碼: 選擇全部

set names utf8;
之類的應該就可以收工了 :mrgreen:
phpBB 裡面該改的東西也要記得改 (ex. php 檔案,語系)
沒有用 ...
PHPBB (還有 phpMyAdmin) 顯示的中文字只是一堆問號 ... :-(

即使 phpMyAdmin 能出現中文字
PHPBB 顯示的仍然是一堆問號 ...

頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8643
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

doraemonalex 寫:
chiouss 寫:
doraemonalex 寫:可能講得不清楚
是把原本在 MySQL 3.x 的東西
在 MySQL 4.1 上還原 :-D
那...sql 前面加上

代碼: 選擇全部

set names utf8;
之類的應該就可以收工了 :mrgreen:
phpBB 裡面該改的東西也要記得改 (ex. php 檔案,語系)
沒有用 ...
PHPBB (還有 phpMyAdmin) 顯示的中文字只是一堆問號 ... :-(

即使 phpMyAdmin 能出現中文字
PHPBB 顯示的仍然是一堆問號 ...
建議您:
1. 補齊發問格式
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
2. 若舊的備份資料是 big5 碼, 則需先轉 utf-8 碼;
新建資料庫後, 再將以轉碼的資料匯入.
http://phpbb-tw.net/phpbb/viewtopic.php?p=245172#245172
3. 如果 'phpMyAdmin 能出現中文字, PHPBB 顯示的仍然是一堆問號'
那麼試試底下的修改:
#
#-----[ OPEN ]-----
#
includes/db.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

?> 
#
#-----[ BEFORE, ADD ]-----
#

代碼: 選擇全部

$db->sql_query("SET NAMES utf8;");
#
#-----[ SAVE & CLOSE ]-----
#
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!

chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

doraemonalex 寫:沒有用 ...
PHPBB (還有 phpMyAdmin) 顯示的中文字只是一堆問號 ... :-(
這表示你設錯字元集了。你 sql 不是 utf8 的話就上面那個指令不要照抄用 utf8。
doraemonalex 寫:即使 phpMyAdmin 能出現中文字
PHPBB 顯示的仍然是一堆問號 ...
這個問題請照樓上說的修改,不過前提要是你資料庫裡面塞的是 utf8,還有就是你 phpBB 用的也是 utf8。

doraemonalex
星球普通子民
星球普通子民
文章: 5
註冊時間: 2007-06-10 22:47

文章 doraemonalex »

心靈捕手 寫:建議您:
1. 補齊發問格式
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
2. 若舊的備份資料是 big5 碼, 則需先轉 utf-8 碼;
新建資料庫後, 再將以轉碼的資料匯入.
http://phpbb-tw.net/phpbb/viewtopic.php?p=245172#245172
3. 如果 'phpMyAdmin 能出現中文字, PHPBB 顯示的仍然是一堆問號'
那麼試試底下的修改:
#
#-----[ OPEN ]-----
#
includes/db.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

?> 
#
#-----[ BEFORE, ADD ]-----
#

代碼: 選擇全部

$db->sql_query("SET NAMES utf8;");
#
#-----[ SAVE & CLOSE ]-----
#
chiouss 寫:這個問題請照樓上說的修改,不過前提要是你資料庫裡面塞的是 utf8,還有就是你 phpBB 用的也是 utf8。
先謝過兩位大大,上述問題有了改善,phpBB 及 phpMyAdMin 均能正確顯示中文了;
但是新的問題卻來了:
當我張貼文章時,如果是文章純英文的,這樣便可以成功張貼;但是當文章內容有中文的時候,按了送出鍵後卻出現了下列訊息:

代碼: 選擇全部

Could not insert new word matches

DEBUG MODE

INSERT INTO bdc222_search_wordmatch (post_id, word_id, title_match) SELECT 59, word_id, 0 FROM bdc222_search_wordlist WHERE word_text IN ('利南道')

Line : 251
File : functions_search.php
當未加上

代碼: 選擇全部

$db->sql_query("SET NAMES utf8;");
的時候,是沒有這個問題的;

未知這個問題又如何解決呢?懇請各位大大指點,謝謝!

* phpBB 2.0.22 (UTF-8 版本), CentOS 4.4, Apache 1.3.37, MySQL 4.1.21

頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8643
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

doraemonalex 寫:先謝過兩位大大,上述問題有了改善,phpBB 及 phpMyAdMin 均能正確顯示中文了;
但是新的問題卻來了:
當我張貼文章時,如果是文章純英文的,這樣便可以成功張貼;但是當文章內容有中文的時候,按了送出鍵後卻出現了下列訊息:

代碼: 選擇全部

Could not insert new word matches

DEBUG MODE

INSERT INTO bdc222_search_wordmatch (post_id, word_id, title_match) SELECT 59, word_id, 0 FROM bdc222_search_wordlist WHERE word_text IN ('利南道')

Line : 251
File : functions_search.php
當未加上

代碼: 選擇全部

$db->sql_query("SET NAMES utf8;");
的時候,是沒有這個問題的;

未知這個問題又如何解決呢?懇請各位大大指點,謝謝!

* phpBB 2.0.22 (UTF-8 版本), CentOS 4.4, Apache 1.3.37, MySQL 4.1.21
建議您:
1. 貼出論壇網址
2. 提供測試用帳號與密碼

ps. 您還是未依發問格式
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!

ATE24
星球普通子民
星球普通子民
文章: 8
註冊時間: 2007-06-11 14:53

[跟進] 關於本問題的跟進

文章 ATE24 »

致心靈捕手

我是 doraemonalex 的助手,現跟進問題解決進度。

首先補回網站配置:
●架設主機作業系統:Cent OS 4.4
●快速架站程式:不適用
●免費空間連結:不適用
●您的上網方式:doraemonalex - 香港網上行 ADSL;我 - 香港寬頻 LAN Cable to home
●您安裝的程式:Apache 1.3.37 + php 4.4.7 + MySQL 4.1.21 + phpMyAdmin 2.10.1
●您的 phpBB 2 版本:phpBB 2.0.22 竹貓星球 UTF-8 版

錯誤情況:
(由於已經修復,請容許我不提供圖片)
安裝後:
以 phpBB 新建文章正常,到 phpMyAdmin 觀看變成一堆亂碼
例子:

代碼: 選擇全部

鴨洲利南道
深水埗南昌邨昌頌樓
phpMyAdmin 觀看:

代碼: 選擇全部

鴨洲利南道
æ·±æ°´åŸ—å—æ˜Œé‚¨æ˜Œé Œæ¨“
由 phpMyAdmin 匯入時,.SQL 檔正常非亂碼,到 phpBB 觀看時所有中文變成 "?"。
例子:

代碼: 選擇全部

鴨洲利南道
深水埗南昌邨昌頌樓 17 樓
phpBB 觀看:

代碼: 選擇全部

??????
????????? 17 ?
由 phpMyAdmin 匯入時,.SQL 檔為亂碼,到 phpBB 觀看時所有中文正常。
例子:

代碼: 選擇全部

鴨洲利南道
æ·±æ°´åŸ—å—æ˜Œé‚¨æ˜Œé Œæ¨“
phpBB 觀看:

代碼: 選擇全部

鴨洲利南道
深水埗南昌邨昌頌樓
跟進:
經過上述修改出現:
後來 doraemonalex 將 functions_search.php 中一段程式碼去除評論:
原文由 WLM 8 信息記錄抄錄:
uncomment a block of code in functions_search.php
現已全面正常。

附:
論壇網址:http://forum.hkbdc.info/index.php
最後由 ATE24 於 2007-06-11 16:33 編輯,總共編輯了 1 次。

頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8643
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To ATE24:

能有您這位好幫手, 他真是幸運!

不過, 建議您:
補充說明, 解決該問題的詳細過程或參考連結, 以利參考. :-)
後來 doraemonalex 將 functions_search.php 中一段程式碼去除評論:
引言回覆:
原文由 WLM 8 信息記錄抄錄:
uncomment a block of code in functions_search.php
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!

doraemonalex
星球普通子民
星球普通子民
文章: 5
註冊時間: 2007-06-10 22:47

文章 doraemonalex »

心靈捕手 寫:To ATE24:

能有您這位好幫手, 他真是幸運!

不過, 建議您:
補充說明, 解決該問題的詳細過程或參考連結, 以利參考. :-)
後來 doraemonalex 將 functions_search.php 中一段程式碼去除評論:
引言回覆:
原文由 WLM 8 信息記錄抄錄:
uncomment a block of code in functions_search.php
是的
在設定上,他給了很多的意見和幫了我很大的忙 :-)
至於解決的詳細過程呢,是這樣的:

1. 首先依照你在
的方法,把

代碼: 選擇全部

$db->sql_query("SET NAMES utf8;"); 
加進 includes/db.php 內;

2. 然後再作以下修改:
(這就是我所說的 "uncomment a block of code in functions_search.php")

#
#-----[ OPEN ]-----
#
includes/functions_search.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

// If you experience problems with the new method, uncomment this block.
/*
#
#-----[ INLINE, FIND & DELETE ]-----
#

代碼: 選擇全部

/*
#
#-----[ FIND ]-----
#

代碼: 選擇全部

*/
	// Trim 1+ spaces to one space and split this trimmed string into words.
#
#-----[ INLINE, FIND & DELETE ]-----
#

代碼: 選擇全部

*/
#
#-----[ SAVE & CLOSE ]-----
#

頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8643
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

doraemonalex 寫:2. 然後再作以下修改:
(這就是我所說的 "uncomment a block of code in functions_search.php")
多謝您的經驗分享! :-D
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!

luicst
星球普通子民
星球普通子民
文章: 12
註冊時間: 2007-07-12 10:33

文章 luicst »

請問一下
Fedora 7 + MySQL 5.0.37 + phpbb 2.0.22 (Big5)

在 /db/mysql4.php (沒有 db.php 檔案) 最後一行的 ?> 加上

$db->sql_query("SET NAMES utf8;");

$db->sql_query("SET NAMES big5;");

結果是沒有畫面, 拿掉又有畫面, 此程式寫法是否需要更改 ? (確定沒打錯字)

換phpbb 2.0.22 (繁體UTF8)也是一樣

小弟最後是在 mysql_connect 那行下方加上
mysql_query("SET NAME big5", $this->db_connect_id);

luicst
星球普通子民
星球普通子民
文章: 12
註冊時間: 2007-07-12 10:33

文章 luicst »

看到這篇很令人高興, 想請教一下 ~

小弟目前架設出來可正常運作的是 Fedora 7 + MySQL 5.0.37 + phpbb 2.0.22 (Big5)

Apache為Fedora 7安裝時後一起安裝的, httpd.conf設 DefaultCharset=Big5

/etc/my.cnf加上3行utf8設定, mysqld有重新啟動
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_chinese_ci

phpbb的/db/mysql4.php在 mysql_connect 那行下方加上
mysql_query("SET NAME big5", $this->db_connect_id);

資料庫內容以 IE(UTF-8編碼) + phpMyAdmin-2.10.2 可以正常看到繁體字
phpbb2 網頁以 IE(Big5) 運作, 輸入繁體字不論 phpbb 和 phpmyadmin 都可以正常看到繁體字

---------

小弟想架設 phpbb2.0.22 (繁體UTF-8)

phpbb2.0.22(Big5)換成phpbb2.0.22 (繁體UTF-8)
httpd.conf設 DefaultCharset=UTF-8
mysql4.php不修改, 或改mysql_query("SET NAME utf-8", $this->db_connect_id);
結果畫面一堆問號 (畫面上方 常見問題, 搜尋, ..等字是正常, IE是UTF-8編碼)
(IE切換到Big5編碼也沒有, 問號依然問號, 剛剛正常的繁體字變亂碼)

請問有人可以指點一下迷津嗎 ? 該如何改 ?

主題已鎖定

回到「phpBB 2 安裝與使用」