SMF rc2中文無(亂)碼版本完成!
- Eddy
-
Topic Author
- Offline
- 管理員
-
Less
More
2005-12-30 15:44 - 2006-10-01 02:40 #1462
來自 Eddy
知之者不如好之者,好之者不如樂之者
Eddy created the topic: SMF rc2中文無(亂)碼版本完成!
這兩天看SMF的中文亂碼字不太順眼了。正在trace它的code修正中。
修正目標:
1.各Joomla模組中文截字問題
2.SMF論壇首頁,最新文章標題中文截字問題
3.搜尋結果的中文截字問題
4.貼文的內文中文奇特亂碼現象
目前1~3已修好,4正在努力,如果上論壇有看到錯誤訊息請忍耐一下。
1~4修好會回貼到這裡。
修正目標:
1.各Joomla模組中文截字問題
2.SMF論壇首頁,最新文章標題中文截字問題
3.搜尋結果的中文截字問題
4.貼文的內文中文奇特亂碼現象
目前1~3已修好,4正在努力,如果上論壇有看到錯誤訊息請忍耐一下。
1~4修好會回貼到這裡。
知之者不如好之者,好之者不如樂之者
最後修改原因: 2006-10-01 02:40 來自 Eddy.
Please 登入 to join the conversation.
- Eddy
-
Topic Author
- Offline
- 管理員
-
2005-12-30 17:29 - 2005-12-30 17:31 #1466
來自 Eddy
知之者不如好之者,好之者不如樂之者
This message has an attachment file.
Eddy replied the topic: SMF rc2中文無(亂)碼版本完成!
目前1~4已修正完成,附加修改的檔案在這篇文章最後。
說明如下:
1.各Joomla模組中文截字問題
用mb_substr及mb_strlen取代substr與strlen即可(環境要支援mbstring)。或是用以下附的utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)
2.SMF論壇首頁,最新文章標題中文截字問題
問題點:Sources/Subs.php中的851行函式shorten_subject問題。
解法:
用utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)取代此函式中的substr與strlen。
3.搜尋結果的中文截字問題
問題點:Sources/Search.php中自1112行的函式prepareSearchContext問題。
解法:
1170~1193中的substr與strlen用utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)取代。
以及preg_match_all的修辭字加上/u
4.貼文的內文中文奇特亂碼現象(某些特定字如"頁"、"預"…)
問題點:Sources/Subs.php中的parse_bbc函式,有關於 xA0與�取代函式(preg_replace)影響。共有兩處:一在行1702~1707間。另一在行1737~1744之間。
解法:
把Array中的砍了,或是在修辭字加上/u
預估中文截字問題有可能會出現的地方:
附屬功能:最新文章(SMF原有的)、日曆、私人訊息…
感謝來自 dokuwiki 的好用utf-8函式庫,據說比mbstring的效能更好。
趁2005快結束時,貢獻這個小小修改給SMF中文愛好者~~ ;D
有關這個修改的問題回報到以下網址,我有空閒時間會很樂意幫忙:
http://www.taiwanmambo.com/index.php?op ... 66#msg1466
說明如下:
1.各Joomla模組中文截字問題
用mb_substr及mb_strlen取代substr與strlen即可(環境要支援mbstring)。或是用以下附的utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)
2.SMF論壇首頁,最新文章標題中文截字問題
問題點:Sources/Subs.php中的851行函式shorten_subject問題。
解法:
用utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)取代此函式中的substr與strlen。
3.搜尋結果的中文截字問題
問題點:Sources/Search.php中自1112行的函式prepareSearchContext問題。
解法:
1170~1193中的substr與strlen用utf8.php中的utf8_substr與utf8_strlen函式(要先include進來)取代。
以及preg_match_all的修辭字加上/u
4.貼文的內文中文奇特亂碼現象(某些特定字如"頁"、"預"…)
問題點:Sources/Subs.php中的parse_bbc函式,有關於 xA0與�取代函式(preg_replace)影響。共有兩處:一在行1702~1707間。另一在行1737~1744之間。
解法:
把Array中的
'�' => "\xA0"
預估中文截字問題有可能會出現的地方:
附屬功能:最新文章(SMF原有的)、日曆、私人訊息…
感謝來自 dokuwiki 的好用utf-8函式庫,據說比mbstring的效能更好。
趁2005快結束時,貢獻這個小小修改給SMF中文愛好者~~ ;D
有關這個修改的問題回報到以下網址,我有空閒時間會很樂意幫忙:
http://www.taiwanmambo.com/index.php?op ... 66#msg1466
知之者不如好之者,好之者不如樂之者
This message has an attachment file.
Please log in or register to see it.
最後修改原因: 2005-12-30 17:31 來自 Eddy.
Please 登入 to join the conversation.
- marveal
-
- 訪客
-
2005-12-30 18:32 #1467
來自 marveal
marveal replied the topic: SMF rc2中文無(亂)碼版本完成!
感謝提供utf8函式,太好用了,
目前修改了mod_smf_recent_topics.php 也是引用utf8.php
一開始引用,請先加入下面這行
require_once($mosConfig_absolute_path."/smf/Sources/utf8.php");
因為我的utf8.php 是放在Sources路徑下,所以上面是引用Sources,
若你的路徑有不一樣,請記得修改。
另外再修改下面的程式碼,改用utf8 來處理,約在153行的地方,取代substr & strlen
目前修改了mod_smf_recent_topics.php 也是引用utf8.php
一開始引用,請先加入下面這行
require_once($mosConfig_absolute_path."/smf/Sources/utf8.php");
因為我的utf8.php 是放在Sources路徑下,所以上面是引用Sources,
若你的路徑有不一樣,請記得修改。
另外再修改下面的程式碼,改用utf8 來處理,約在153行的地方,取代substr & strlen
echo ($numchar != '' ? utf8_substr($post['subject'],0,$numchar).(utf8_strlen($post['subject']) > $numchar ? '...' : '') : $post['subject']) , ' (',
Please 登入 to join the conversation.
- resnick
-
- 訪客
-
- maostudio
-
- 訪客
-
- Eddy
-
Topic Author
- Offline
- 管理員
-
- lilychen
-
- 訪客
-
- Eddy
-
Topic Author
- Offline
- 管理員
-