1 頁 (共 1 頁)

[教學] 解決 phpBB 主題過長無法瀏覽 (或增加主題長度) 的方法

發表於 : 2003-07-19 10:52
Mowd
phpbb資料庫存主題的長度是char(60),但是posting_body.tpl是maxlength=60,乍看之下好像沒錯,但是char(60)是指60 byte,但是maxlength卻是60個字,如果是中文的話,全打滿就是120 byte了,所以會讀不到而產生空白畫面。
解決辦法:
打開posting_body.tpl
找maxlength="60"
改成
maxlength="30"
這樣就OK了。

發表於 : 2003-07-19 11:20
澳門男孩
謝謝提供
轉去教學文件庫

發表於 : 2003-07-19 17:36
小竹子
這算是 BUG?應該是長度修正吧!

發表於 : 2005-05-24 21:47
Mowd
因為這個方法是預防,如果已經有這樣的主題要到資料庫找到該篇主題,再把他改短一點。

Re: [解決]phpBB 主題過長無法瀏覽

發表於 : 2006-12-17 20:31
心靈捕手
Mowd 寫:phpbb資料庫存主題的長度是char(60),但是posting_body.tpl是maxlength=60,乍看之下好像沒錯,但是char(60)是指60 byte,但是maxlength卻是60個字,如果是中文的話,全打滿就是120 byte了,所以會讀不到而產生空白畫面。
解決辦法:
打開posting_body.tpl
找maxlength="60"
改成
maxlength="30"
這樣就OK了。
若是論壇語系是 utf-8 (繁中) 的話,
則打滿 30 中文字, 可能不止 60 字元.
因為每個 utf-8 碼中文字, 約有 1~4 個字元.

所以, 若是論壇語系是 utf-8 (繁中) 的話,
則設定 maxlength="20" 為宜.

或者, 安裝外掛 Long Subject (120 letters)
http://phpbb-tw.net/phpbb/viewtopic.php?p=122336#122336

增加主題長度的方法

發表於 : 2008-07-03 00:00
心靈捕手
phpbb 2 若要增加主題長度,
則可參考上述外掛: Long Subject (120 letters)
加大樣板檔 (posting_body.tpl) 的 '字數' 限制 (60 -> 120), 以及更改資料表相關欄位的 '長度' 值
phpbb_topics > topic_title > 60 -> 120
phpbb_posts_text > post_subject > 60 -> 120

若是輸入英文字, 則沒有問題;
但是, 若輸入中文, 會有問題.
主要是 big5 碼中文, 一個字為 2 字元;
而 utf-8 碼中文, 一個字為 1~4 字元.
因此, 樣板檔的字數限制, 必須斟酌調整 (減小).


同理, phpbb3 若要增加主題長度, 則可這麼做:
加大樣板檔的 '字數' 限制 (60 -> 120; 64 -> 124), 以及更改資料表相關欄位的 '長度' 值
使用預設的風格不同, 要修改的檔案也不同; 新主題預設字數限制為 60, 回覆則為 64.
prosilver (posting_editor.html)
subsilver2 (posting_body.html)
phpbb_topics > topic_title > 100 -> 124
phpbb_posts > post_subject > 100 -> 124

若是輸入英文字, 則沒有問題;
但是, 若輸入中文, 會有問題.
主要是 utf-8 碼中文, 一個字為 1~4 字元.
因此, 樣板檔的字數限制, 必須斟酌調整 (減小); 或者是加大資料表相關欄位的 '長度' 值

以下為加大資料表相關欄位的 '長度' 值為 124 的參考語法.
#
#-----[ SQL ]-----
#

代碼: 選擇全部

ALTER TABLE `phpbb_topics` CHANGE `topic_title` `topic_title` VARCHAR(124) NOT NULL;
ALTER TABLE `phpbb_posts` CHANGE `post_subject` `post_subject` VARCHAR(124) NOT NULL;