[問題][分享]將免空PHPBB2011(BIG5)->PHPBB2022(UTF-8)成功及一些疑問

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

版主: 版主管理群

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

[問題][分享]將免空PHPBB2011(BIG5)->PHPBB2022(UTF-8)成功及一些疑問

文章 Alvin.Hsin »

將免空PHPBB2011(BIG5)->PHPBB2022(UTF-8)成功及一些疑問

發這篇文章讓我考慮了好久...因為我還是剛接觸不久的新手
因為這是以前就一直在解決的問題,之前PHPBB2011因為被駭客改過首頁所以就停擺了好久,最近終於把它給修復並升級成功...

先說明我的免空資訊
●免費空間連結: http://why3s.us
●您的上網方式:學術網
●免空上的程式:Apache 版本 1.3.33 (Unix) + MySQL 版本 4.0.27-standard + PHP 版本 4.3.11 + phpMyAdmin - 2.8.0.2
●您的 phpBB2 版本:phpBB (2.0.11)(BIG5) --> phpBB (2.0.22)(UTF-8)

升級步驟過程及問題敘述:
一開始保留原來的 phpBB (2.0.11)(BIG5) 不動,進入 phpMyAdmin 備份下載匯出所有的資料表,(一開始很懶,想說一次整個備份,然後還原,得到的就是失敗的結果),乖乖的一個個的備份下載,總共有29個資料表,(可是 [PHPBB 2.0.22] 有30個,多的那一個是[phpbb_sessions_keys]這裡我就不理它了),然後將下載下來的資料表利用 ConvertZ 將資料表全部轉成繁體 UTF-8 (這過程之中還有去除衝碼字的問題,反覆轉了4-5次,第一次轉繁->簡->繁,修正 [許\\\公\\\蓋\\\] 變成 [許公蓋],第二次是修正 [許r\n公r\n蓋r\n] 變成 [許\r\n公\r\n蓋\r\n]),完成之後,就是使用竹貓下載的 [PHPBB 2.0.22(內含中文語系以及中文按鈕,適合全新安裝使用,本版本採 UTF-8 編碼)],將它上傳到免空進行全新安裝,安裝後資料庫就是UTF-8。
這時我開始將全部轉好的資料表全部匯入(我腦殘才這樣做),結果就掛了(匯入的過程其實還有一些出現了語法錯誤,這時候我依照他顯示的錯誤部分,利用 EmEditor 開啟轉好的SQL檔搜尋到錯誤的部份修正,直到它完整無誤的匯入為止。另外我還發現 [phpbb_users] 這個資料表從 2.0.11->2.0.22 多了兩筆結構資料,然後我就手動慢慢的增加了每個會員的這兩筆數據...),後來仔細看了一下原來的 phpBB (2.0.11)(BIG5) 資料庫的資料表,發現有些資料表是沒有紀錄資料的,就省略那些沒有記錄資料的都不匯入,然後就再重新匯入一次,匯入完之後就到論壇去,隨便瀏覽一下及發文,幾乎沒什麼問題了。
只是有個小問題就是會員名稱的問題,好像更新完之後,會員的名稱長度上限被縮短了,例如有一個會員的名稱在 phpBB (2.0.11)(BIG5) 是這樣

一二三四五六七八九

原來是正常可以顯示的,可是更新完 phpBB (2.0.22)(UTF-8) 之後卻變成

一二三四五六七八伯a>
圖檔
然後我嘗試修改資料庫,資料庫裡面變成這樣
圖檔
然後不管它,繼續改成

一二三四五六七八

這樣是OK的,然後我在改成

一二三四-五六七八

這樣也是OK的,可是如果在改成這樣

一二三四--五六七八

資料庫裡面的內容就會變成這樣
圖檔
然後就顯示成

一二三四--五六七兼/a>
圖檔
以上結論就是更新完之後,會員名稱只能用8個中文字+1個英文數字或是25個英文數字
這樣算起來,一個中文字就佔了三個字元,更新完之後就縮短了字元的上限了...怎麼會這樣...

PS.以下*記號的資料表是我將 phpBB (2.0.11)(BIG5) --> phpBB (2.0.22)(UTF-8) 有匯入的部份

代碼: 選擇全部

 phpbb_auth_access *
 phpbb_banlist 
 phpbb_categories *
 phpbb_config 
 phpbb_confirm 
 phpbb_disallow 
 phpbb_forums *
 phpbb_forum_prune 
 phpbb_groups *
 phpbb_posts *
 phpbb_posts_text *
 phpbb_privmsgs *
 phpbb_privmsgs_text *
 phpbb_ranks 
 phpbb_search_results 
 phpbb_search_wordlist 
 phpbb_search_wordmatch 
 phpbb_sessions 
 phpbb_smilies 
 phpbb_themes 
 phpbb_themes_name 
 phpbb_topics *
 phpbb_topics_watch *
 phpbb_users *
 phpbb_user_group *
 phpbb_vote_desc *
 phpbb_vote_results *
 phpbb_vote_voters *
 phpbb_words 
其實有些資料表我還是不清楚它的作用,不知道能不能請高手解釋一下,另外是否能告訴我,如果我要轉移資料庫,哪些資料表是必須轉移的,哪些是不需要的可以忽略的,麻煩可以告知一下嗎,我嘗試用搜尋竹貓的主題,似乎找不到這方面的說明。

下面是 phpBB (2.0.22) 的資料表

代碼: 選擇全部

 phpbb_auth_access 
 phpbb_banlist 
 phpbb_categories 
 phpbb_config 
 phpbb_confirm 
 phpbb_disallow 
 phpbb_forums 
 phpbb_forum_prune 
 phpbb_groups 
 phpbb_posts 
 phpbb_posts_text 
 phpbb_privmsgs 
 phpbb_privmsgs_text 
 phpbb_ranks 
 phpbb_search_results 
 phpbb_search_wordlist 
 phpbb_search_wordmatch 
 phpbb_sessions 
 phpbb_sessions_keys 
 phpbb_smilies 
 phpbb_themes 
 phpbb_themes_name 
 phpbb_topics 
 phpbb_topics_watch 
 phpbb_users 
 phpbb_user_group 
 phpbb_vote_desc 
 phpbb_vote_results 
 phpbb_vote_voters 
 phpbb_words 
最後的心得:

對我來說升級版本與資料庫最大的瓶頸應該就是衝碼字的問題,比較麻煩的就是 [phpbb_posts_text] 這個資料表了,衝碼字容易導致匯入資料庫產生語法錯誤,至於編碼的問題倒是還好解決,ConvertZ 與 EmEditor 真是非常好用的工具。
另外衝碼字我覺得目前最多有三個反斜線,如果只有修改兩個反斜線,可能還會存在衝碼字。還有我發現利用 ConvertZ 繁轉簡轉繁之後,原本的[珮]字會被改成[佩],前者是衝碼字,修改之後可能會有個問題,就是遇到[佩r\n],這時我又得自己在加入修正。
頭像
SCR
竹貓忠實會員
竹貓忠實會員
文章: 330
註冊時間: 2006-03-11 23:21
來自: 網路的小角落

文章 SCR »

針對"會員名稱長度問題",你可以嘗試修改進入 phpMyAdmin 內,將 phpbb_users → username ,把他的型態由 varchar(25) 改成 varchar(40) ← 括弧內數字大約在 40 就可能足夠了,除非你站內的會員有取帳號是一大長串的文字的.

另你的升級備份資料庫動作(乖乖的一個個的備份下載),可能會讓我膛舌(因為我的資料表共有 69 個----安裝的外掛太多所致).....
http://phpbb-tw.net/phpbb/viewtopic.php?p=245105#245105
這篇文章讓我省去(乖乖的一個個的備份下載)的步驟,對你應該也有用,或許可以讓你走捷徑更快讓 phpbb 2.0.*(big5) → phpbb2.0.22(utf8).
還原資料庫後,再另作 2.0.* →(升級) 2.0.22 的新增資料表的動作(上傳並執行 install/update_to_latest.php ,後刪除之),及其他新增的語系檔內的資料 .

你可以試試看,多作嚐試,期待你有更加簡便;容易的教學文件來公佈造福竹貓大眾.
知難非行易,知易反行難~~
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8538
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: [問題][分享]將免空PHPBB2011(BIG5)->PHPBB2022(UTF-8)成功及一些疑問

文章 心靈捕手 »

Alvin.Hsin 寫:升級步驟過程及問題敘述:
一開始保留原來的 phpBB (2.0.11)(BIG5) 不動,進入 phpMyAdmin 備份下載匯出所有的資料表,(一開始很懶,想說一次整個備份,然後還原,得到的就是失敗的結果),乖乖的一個個的備份下載,總共有29個資料表,(可是 [PHPBB 2.0.22] 有30個,多的那一個是[phpbb_sessions_keys]這裡我就不理它了),然後將下載下來的資料表利用 ConvertZ 將資料表全部轉成繁體 UTF-8 (這過程之中還有去除衝碼字的問題,反覆轉了4-5次,第一次轉繁->簡->繁,修正 [許\\\公\\\蓋\\\] 變成 [許公蓋],第二次是修正 [許r\n公r\n蓋r\n] 變成 [許\r\n公\r\n蓋\r\n]),完成之後,就是使用竹貓下載的 [PHPBB 2.0.22(內含中文語系以及中文按鈕,適合全新安裝使用,本版本採 UTF-8 編碼)],將它上傳到免空進行全新安裝,安裝後資料庫就是UTF-8。
這時我開始將全部轉好的資料表全部匯入(我腦殘才這樣做),結果就掛了(匯入的過程其實還有一些出現了語法錯誤,這時候我依照他顯示的錯誤部分,利用 EmEditor 開啟轉好的SQL檔搜尋到錯誤的部份修正,直到它完整無誤的匯入為止。另外我還發現 [phpbb_users] 這個資料表從 2.0.11->2.0.22 多了兩筆結構資料,然後我就手動慢慢的增加了每個會員的這兩筆數據...),後來仔細看了一下原來的 phpBB (2.0.11)(BIG5) 資料庫的資料表,發現有些資料表是沒有紀錄資料的,就省略那些沒有記錄資料的都不匯入,然後就再重新匯入一次,匯入完之後就到論壇去,隨便瀏覽一下及發文,幾乎沒什麼問題了。
只是有個小問題就是會員名稱的問題,好像更新完之後,會員的名稱長度上限被縮短了,例如有一個會員的名稱在 phpBB (2.0.11)(BIG5) 是這樣
無論是先升級再轉碼, 或者是先轉碼再升級, 轉碼過程出現錯誤難免;
只是您的升級方法有些 '事倍功半'.
SCR 所言, 您只要執行最新版的 update_to_latest.php 即可輕鬆完成資料庫更新, 何苦一一比對呢? :-?

--
UTF-8 編碼, 一個中文字約佔 1~4 字元不等, 因此若原來帳號名稱過長, 則尾端容易出現亂碼;
若需要更改的帳號很多, 則可自行增加允許帳號設定的長度
除了如 SCR 所言, 調整資料庫欄位的值之外,
您還必須修改底下檔案:
includes/functions.php
includes/usercp_register.php

--
Alvin.Hsin 寫:其實有些資料表我還是不清楚它的作用,不知道能不能請高手解釋一下,另外是否能告訴我,如果我要轉移資料庫,哪些資料表是必須轉移的,哪些是不需要的可以忽略的,麻煩可以告知一下嗎,我嘗試用搜尋竹貓的主題,似乎找不到這方面的說明。
哪些資料表需要轉, 端賴您個人的需求;
哪些資料表不必轉, 依個人經驗如底下:
phpbb_search_wordlist
phpbb_search_wordmatch
phpbb_sessions

參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?t=47784
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
Alvin.Hsin
星球普通子民
星球普通子民
文章: 10
註冊時間: 2007-11-17 15:29

文章 Alvin.Hsin »

感謝SCR與心靈捕手兩位大大的解說。
目前會員名稱長度可以說問題不大,我比較想要釐清的就是我的資料庫更新步驟:
假設一:
我將 PHPBB2011 的資料庫下載備份,然後安裝全新的 PHPBB2022,之後還原資料庫(假設都OK,但是可能沒有新的資料結構,也就是說,我的資料庫資料結構都是 PHPBB2011 的),然後我在執行 PHPBB2022 內附的 update_to_latest.php 將我的資料庫更新並自動增加新的資料結構。

假設二:
將原來的 PHPBB2011 的資料庫,先將 PHPBB2022 內附的 update_to_latest.php 放在 PHPBB2011 的 install 下執行更新之後,備份下載資料庫,然後安裝全新的PHPBB2022,再還原資料庫。

以上兩種作法,都是兩個不同版本的 PHPBB 以及不同的資料庫。

假設三:
我將舊的 PHPBB2011 的程式部份全部刪除,保留資料庫不動,然後使用新的 PHPBB2022,然後 config.php 設定沿用舊的,再執行 update_to_latest.php 更新資料庫。

這三種作法,哪一種比較妥當呢?
另外一提就是,如果我要執行 update_to_latest.php,請問我從 PHPBB2011 需要慢慢的執行從 2012...2013...-...2022,有需要嗎?

心靈捕手 寫:
Alvin.Hsin 寫:其實有些資料表我還是不清楚它的作用,不知道能不能請高手解釋一下,另外是否能告訴我,如果我要轉移資料庫,哪些資料表是必須轉移的,哪些是不需要的可以忽略的,麻煩可以告知一下嗎,我嘗試用搜尋竹貓的主題,似乎找不到這方面的說明。
哪些資料表需要轉, 端賴您個人的需求;
哪些資料表不必轉, 依個人經驗如底下:
phpbb_search_wordlist
phpbb_search_wordmatch
phpbb_sessions
如果說今天我只要論壇的會員資料還有會員的文章,其他的一概不管了,是否只要備份下面幾個資料表呢?

代碼: 選擇全部

 phpbb_forums 
 phpbb_posts 
 phpbb_posts_text 
 phpbb_users 
 phpbb_user_group 
這樣會不會少了些什麼?

就我目前知道的資料表如下:

代碼: 選擇全部

 phpbb_auth_access 不清楚
 phpbb_banlist 不清楚
 phpbb_categories 文章大綱分類
 phpbb_config 論壇設定檔
 phpbb_confirm 不清楚
 phpbb_disallow 不清楚
 phpbb_forums 文章分類
 phpbb_forum_prune 不清楚
 phpbb_groups 會員群組屬性
 phpbb_posts 文章屬性
 phpbb_posts_text 文章內容
 phpbb_privmsgs 不清楚
 phpbb_privmsgs_text 不清楚
 phpbb_ranks 不清楚
 phpbb_search_results 好像是搜尋數值
 phpbb_search_wordlist 搜尋文字清單
 phpbb_search_wordmatch 搜尋文字組合
 phpbb_sessions 好像是用來記錄線上會員
 phpbb_sessions_keys 不清楚
 phpbb_smilies 文字表情
 phpbb_themes 風格
 phpbb_themes_name 風格名稱
 phpbb_topics 文章標題
 phpbb_topics_watch 不清楚
 phpbb_users 會員資料
 phpbb_user_group 不清楚
 phpbb_vote_desc 投票標題
 phpbb_vote_results 投票類名
 phpbb_vote_voters 不清楚
 phpbb_words 不清楚
能否請專家幫我解答上述的疑惑嗎?
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8538
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

Alvin.Hsin 寫:這三種作法,哪一種比較妥當呢?
另外一提就是,如果我要執行 update_to_latest.php,請問我從 PHPBB2011 需要慢慢的執行從 2012...2013...-...2022,有需要嗎?
1. 三種情況大同小異; 重點在於執行 update_to_latest.php 而已.
2. 不必!
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
SCR
竹貓忠實會員
竹貓忠實會員
文章: 330
註冊時間: 2006-03-11 23:21
來自: 網路的小角落

文章 SCR »

Alvin.Hsin 寫:如果說今天我只要論壇的會員資料還有會員的文章,其他的一概不管了,是否只要備份下面幾個資料表呢?

代碼: 選擇全部

 phpbb_forums 
 phpbb_posts 
 phpbb_posts_text 
 phpbb_users 
 phpbb_user_group 
這樣會不會少了些什麼?
這樣還原的話,論壇可能會有1.沒有"分區". 2."這個版面目前沒有文章"兩種窘境出來.雖然有顯示文章主題數:**篇.........但根本找不到"分區"和"文章標題"的連結.

起碼還得要有

代碼: 選擇全部

phpbb_categories
phpbb_topics 
這兩個資料表

假如你的文章內有"票選活動"的話,還必須要有

代碼: 選擇全部

phpbb_vote_desc 
 phpbb_vote_results 
 phpbb_vote_voters 
這三個資料表.
知難非行易,知易反行難~~
主題已鎖定

回到「phpBB 2 安裝與使用」