PHP-Nuke、XOOPS 輕鬆架站
書號:F8541
定價:480 元
吳弘凱 著
我要線上購買
| |
本期書摘:PHP-Nuke 的「許功蓋」中文亂碼修正原則
本文摘錄自旗標 F8541「PHP-Nuke、XOOPS 輕鬆架站」
一書
PHP-Nuke 其實最為國人所詬病的一點就是中文相容性
的問題。前幾個單元我們介紹了如何將 PHP-Nuke 中
文化, 以及修正了一些小 Bug, 這些都是最好解決的
部份。然而, 關於中文相容性卻是 PHP-Nuke 最大的
罩門, 尤其是著名的「許功蓋」問題更是討論區的常
客。
「啊...工友啊, 誰是許功蓋阿?」噗噗噗... (噴血中
的聲音) ... 呃...「許功蓋」不是一個人啦!或許您
知道, 每個中文字都有其中文字的編碼, 這些編碼符號
有一些是包括特殊符號, 部份的特殊符號在很多程式和
資料庫都有其特別的作用, 偏偏「許」、「功」、「蓋
」、「涂」、「閱」...等這些中文字的編碼都含有特
殊符號, 所以, 若是沒經過特別處理, 系統便會出現中
文亂碼的怪現象。不幸的是, PHP-Nuke 剛好有這種毛
病。
網路上不斷的有人提出相關的解決方式, 不過, 並沒有
一個方法是可以徹底解決的, 因為 PHP-Nuke 是一個多
人開發的環境, 每一個人對於文字處理的態度以及方式
均不相同, 因此, 就會產生有的模組沒問題, 有的模組
有問題的這種怪現象。
那該怎麼辦呢?有兩種辦法, 一種是從網路上找看看有
沒有那位善心人士已經將所有的程式碼修正過一遍, 然
後您抓下來用即可。其實每當 PHP-Nuke 出了新版本之
後, 便會有一些高手去做中文修正的工作, 然而, 每次
PHP-Nuke 出個新版本, 這些工作都必須要重頭做過一
次, 因此, 很快的就會覺得厭煩, 甚至覺得很無力, 常
常會感嘆:「為什麼 PHP-Nuke 不將這種問題一次徹底
解決呢?」是啊, 為什麼?沒人可以理解, 大概 PHP-N
uke 的作者絕大部分都是外國人, 所以比較不重視中文
問題吧!
好啦, 囉哩巴唆一大堆, 繼續講第二種方法, 第二種方
法當然就是自己改囉!這樣的話, 您就不用去等人家出
中文的修正版本啦!
「怎麼改呢?我又不會寫程式」不會寫程式沒關係, 只
要您擁有一點點的判斷能力, 並且看得懂英文的 26 個
字母即可。
快速修正
老話一句, 如果您趕時間, 或者您根本不想去碰這些東
西, 那麼, 您可以利用工友修正好的程式, 直接蓋掉您
原有的程式, 那麼中文問題幾乎就可以解決了。
開啟本書的書附光碟, 進到「PHPNuke\fix\patch」的
目錄下, 按 Ctrl + A 將裡面的所有檔案及目錄選取起
來, 然後按 Ctrl + C 複製所有檔案, 然後切換到您的
網頁目錄下, 按 Ctrl + V 貼上所有檔案, 並將舊檔全
部覆蓋就樣就大功告成了!
下面的單元也請您稍微看一下, 雖然您不用動手做了,
不過了解一下也是好的。而且, 後面的單元除了教您如
何自己修正以外, 還會教您如何去設定一些重要模組。
自行修正步驟
若是您不趕時間, 而且也想利用這個機會好好的學習一
下自己來調整 PHP-Nuke, 那麼, 工友會鼓勵您自己動
手做做看, 做久了, 經驗自然就豐富了。一旦經驗豐富
, 您就是這方面的專家啦!也就是人家所謂的電腦高手
囉!
1.找出有問題的程式所在。
2.找出程式中的stripslashes函數。
3.判斷前後變數是否一致。
4.若是一致, 直接用//將該行隱藏起來即可。
5.若不一樣, 則直接將 stripslashes 刪掉。
如何判斷程式位置
「工友啊, 你講得倒簡單, 我連程式在那裡都找不到了
, 如何進行下一步咧?」OK!如果您有寫程式的經驗,
尤其是寫過 PHP 的話, 那麼抓到主要程式應該不會太
困難, 但是如果您從來沒碰過程式, 那麼要您去找出幕
後黑手那就有點困難了, 因此, 工友在此給您一些方向
, 照著這個方向, 大概都可以找出主要程式所在。
◇若是該功能是模組, 那麼該程式應該在 modules 目
錄中。
◇若是該功能是模組, 而且是給管理者用的, 也就是出
現在 admin.php 中的, 那麼一定在 admin 下的 mod
ules 目錄中。
◇若是該問題是出現在版面區塊之中, 那麼該程式應該
在 blocks 底下。
◇最後, 只要看一下連結位置, 大概就可以知道模組名
稱或是區塊名稱為何了。
如何分辨區塊以及模組
「那麼區塊以及模組要如何分辨呢?」問得好, 很多人
對這兩個名詞一直是模模糊糊的, 工友在此順便解釋一
下這兩者的差別。
所謂「區塊」, 指的就是版面左右兩邊那種有個方框圍
起來的小方塊, 每一個區塊都有獨自的功能, 例如「語
系選擇」 (Languages) 區塊就是用來切換介面語系的區
塊;「網友登入」 (Login) 區塊就是讓您登入的區塊;
「主題票選」 (Surver) 區塊就是用來投票的區塊。
而所謂模組就是放在「本站模組」 (Modules) 區塊裡面
的所有功能都算是模組。當您點選「本站模組」裡面的
認一個模組連結, 該模組的功能或介面就會出現在畫面
中央。例如「新聞」 (News) 模組, 就是可以讓您發佈
新聞, 公告新聞的模組;「下載專區」 (Downloads) 模
組就是讓您下載檔案的模組;「討論區」 (Forums) 模
組就是討論區模組。
通常「區塊」都是比較小或比較單一的功能, 而「模組」
通常比較大, 功能也比較多, 並擁有輸入、管理的介面。
--- 本篇完
|