[問題] 最新主題會出現奇怪的字

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
aretha
星球普通子民
星球普通子民
文章: 14
註冊時間: 2005-12-03 12:45

[問題] 最新主題會出現奇怪的字

文章 aretha »

問題外掛:最新主題
參考連結:http://www.phpbb.com/phpBB/viewtopic.php?t=200004
使用版本:phpBB 2.0.19
網站位置:http://ciel.mytw.net
狀況描述:

裝完這個外掛後,首頁每個板塊的最新主題在最後面都會出現奇怪的字,如殮.宮,這些非原本主題的文字。
請問這要怎麼解決呢? 謝謝~


補充:
以下是我的論壇有裝的外掛
2006.01.28 "Mod HIDE" 隱藏標籤
2006.01.28 Advanced Links Mod 1.2.2 推薦連結進階版
頭像
jwxie
竹貓忠實會員
竹貓忠實會員
文章: 604
註冊時間: 2005-11-26 12:02
來自: New York, USA   學業狀況: 更加努力     個人狀況: ||地獄臭蛋|| 
聯繫:

...

文章 jwxie »

那應該是許功蓋的問題?

可能是utf-8?
我說得對嗎?

如果是...看看你的相容性@@

目前本人帳號嚴重地被盜用!MSN已經被盜!

想問個問題並不打擾, 但沒有發文格式, 其他人不能知道你的情況!
請尊守竹貓各區裡的發文格式, 謝謝合作!
[必看]請配合發問格式及明確主題發問(04 02/16更新) phpBB!
所有新手必看的
[教學]認識、安裝和參考PHPBB的新手基本教學通
PS:感謝各位大大的幫助和教導^^
Q168.net空間技術交流

個人小品(Blog)My phpBB-Blog免費空間討論區
Kill
竹貓忠實會員
竹貓忠實會員
文章: 874
註冊時間: 2003-07-31 12:40
來自: CKD Studio
聯繫:

文章 Kill »

是utf-8的問題
目前只看到一種解決辦法
計算以及截取UTF-8字串 by 神川小羽
喜歡...就是淡淡ㄉ愛... ...則是深深ㄉ喜歡...
圖檔
提供phpBB代架服務以及外掛安裝

有付費服務的問題請移駕至CKD Studio發問 ╮( ̄▽ ̄)╭
aretha
星球普通子民
星球普通子民
文章: 14
註冊時間: 2005-12-03 12:45

文章 aretha »

我是裝utf-8版的
好像很難改耶....
可以把論壇的版本改成big5的嗎?
Kill
竹貓忠實會員
竹貓忠實會員
文章: 874
註冊時間: 2003-07-31 12:40
來自: CKD Studio
聯繫:

文章 Kill »

aretha 寫:我是裝utf-8版的
好像很難改耶....
可以把論壇的版本改成big5的嗎?
可以
不過建議不要這麼做
因為到時候還要做一堆多國語言修正 ...
喜歡...就是淡淡ㄉ愛... ...則是深深ㄉ喜歡...
圖檔
提供phpBB代架服務以及外掛安裝

有付費服務的問題請移駕至CKD Studio發問 ╮( ̄▽ ̄)╭
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To aretha:

因為此外掛(Last Topic MOD)預設: 若主題超過 25 字元, 則以" ..." 顯示
再加上您的語系是以 utf-8 編碼
所以造成末端出現了怪異的字

代碼: 選擇全部

								// append first 25 characters of topic title to last topic data
								if (strlen($lttitle) > 25)
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />';
								}
								else
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />';
								}
建議您:
1. 試試將字元數 (25) 取偶數-> 沒有實地試過, 只是因為中文字是雙字元
2. 試試將字元數 (25) 加大-> 恐破壞版面, 必須限制 index_body.tpl 最後發表的欄位寬度.

ps.
移動到" 官方外掛使用討論" 版面!
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

心靈捕手 寫:To aretha:

因為此外掛(Last Topic MOD)預設: 若主題超過 25 字元, 則以" ..." 顯示
再加上您的語系是以 utf-8 編碼
所以造成末端出現了怪異的字

代碼: 選擇全部

								// append first 25 characters of topic title to last topic data
								if (strlen($lttitle) > 25)
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />';
								}
								else
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />';
								}
建議您:
1. 試試將字元數 (25) 取偶數-> 沒有實地試過, 只是因為中文字是雙字元
2. 試試將字元數 (25) 加大-> 恐破壞版面, 必須限制 index_body.tpl 最後發表的欄位寬度.

ps.
移動到" 官方外掛使用討論" 版面!
在測試論壇( 2.0.19, utf-8) 試裝了一下,
發現將數字調為 24 即可.
http://wang5555.dnsfor.me/test/phpbb2/index.php

以下的修改, 提供您參考:
#
#-----[ OPEN ]-----
#
index.php

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

代碼: 選擇全部

			$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />';
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

			$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 24) . '...</a><br />';
#
#-----[ SAVE & CLOSE ]-----
#
#EoM
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
aretha
星球普通子民
星球普通子民
文章: 14
註冊時間: 2005-12-03 12:45

文章 aretha »

心靈捕手大人
我試過了還是不行
看來我跟它無緣..... :cry:
是不是用big5在安裝外掛時比較沒問題呢?
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

aretha 寫:心靈捕手大人
我試過了還是不行
看來我跟它無緣..... :cry:
是不是用big5在安裝外掛時比較沒問題呢?
一般情形, 如果您的語系編碼是 big-5 碼,
當您安裝外掛有新增語言檔(或代碼)時, 比較不容易出錯;
而在日後語系的更新或修正, 自然也就比較容易;
這是因為通常外掛的正體中文化, 都是以 big-5 碼編寫.

但是 big-5 編碼容易造成亂碼, 或" 許功蓋" 等衝碼, 必須要作多國語言處理或其他修正;
所以, 時下最流行的, 就是將 big-5 轉為 utf-8 編碼, 便可以免去上述的困擾.
// [教學] phpBB 2.0.15 多國語言 & 其他問題修正
http://phpbb-tw.net/phpbb/viewtopic.php?t=35623
// 修正_許功蓋
http://phpbb-tw.net/phpbb/viewtopic.php?t=37061

然而, 如果您的語系編碼是 utf-8 碼,
當您安裝外掛有新增語言檔(或代碼)時, 就必須將其轉為 utf-8 碼
;
否則, 一樣是會出現亂碼, 空白頁, 或其他錯誤訊息.
// 建議您: 用 ConvertZ 來轉.
// 下載位址:
http://alf-li.pcdiscuss.com/c_convertz.html
// 參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?p=210471#210471

--
而您的問題, 又是另外的情形:
那是因為擷取字元長度, 造成 utf-8 編碼出現的異常.

就我個人的實驗,
發現取 24 字元是最不容易出錯的, 因為 utf-8 是" 用 8-bit 編碼,每個字符由一至四個字節組成".
Source: http://alf-li.pcdiscuss.com/c_convertz.html

--
究竟論壇語系是 big-5 或 utf-8 碼比較好呢?
端看您個人的喜好囉! ;-)
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
jwxie
竹貓忠實會員
竹貓忠實會員
文章: 604
註冊時間: 2005-11-26 12:02
來自: New York, USA   學業狀況: 更加努力     個人狀況: ||地獄臭蛋|| 
聯繫:

...

文章 jwxie »

但照那位大大所說他也是一樣是utf-8

不是utf-8會自行接受utf8編碼的外掛嗎@@?

啥原因會造成這種情況呢?是否有得防止?

另外, 就是大大所說的(25), 這些是代表什麼呢?

目前本人帳號嚴重地被盜用!MSN已經被盜!

想問個問題並不打擾, 但沒有發文格式, 其他人不能知道你的情況!
請尊守竹貓各區裡的發文格式, 謝謝合作!
[必看]請配合發問格式及明確主題發問(04 02/16更新) phpBB!
所有新手必看的
[教學]認識、安裝和參考PHPBB的新手基本教學通
PS:感謝各位大大的幫助和教導^^
Q168.net空間技術交流

個人小品(Blog)My phpBB-Blog免費空間討論區
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: ...

文章 心靈捕手 »

jwxie 寫:但照那位大大所說他也是一樣是utf-8

不是utf-8會自行接受utf8編碼的外掛嗎@@?

啥原因會造成這種情況呢?是否有得防止?

另外, 就是大大所說的(25), 這些是代表什麼呢?
建議您:
參考這篇文章:
http://phpbb-tw.net/phpbb/viewtopic.php?p=218078#218078

關於此外掛 (Last Topic MOD)
參考 神川小羽 大大的解法, 如下:
#
#-----[ OPEN ]-----
#
index.php

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

代碼: 選擇全部

								if (strlen($lttitle) > 25)
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 24) . '...</a><br />';
								}
								else
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />';
								}
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

								if (mb_strlen($lttitle, 'utf-8') > 16)
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . mb_substr($lttitle, 0, 16, 'utf-8') . '...</a><br />';
								}
								else
								{
									$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . mb_substr($lttitle, 0, 16, 'utf-8') . '</a><br />';
								}
#
#-----[ SAVE & CLOSE ]-----
#
#EoM

ps.
將 '25' 改為 '16' 只是提供參考,
可以依照您實際的需求, 更改之.

--
題外話:

測試中發現,
若是 big-5 碼語系, 主題長度過長時, 則標題末會出現 '/a>' , 瀏覽文章會出現空白頁;
若是 utf-8 碼語系, 主題長度過長時, 則雖然標題末會出現 '/a>' , 瀏覽文章仍可正常顯示文章.

// 若要解決標題末會出現 '/a>' 則請參考這裡:
http://phpbb-tw.net/phpbb/viewtopic.php?p=104690#104690
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「外掛問題討論」