LifeType 中文開發論壇

開發 => 核心補強 => 主題作者是: ericj 於 八月 19, 2005, 11:52:40 下午



主題: [bug] pLog mangled_blogs, mangled_name
作者: ericj八月 19, 2005, 11:52:40 下午
pLog會將網誌的站台名稱,在存進plog_blogs的mangled_blog時用一個函式去做轉換,
我目前還不曉得那個函式有什麼用途或者意義,因為中文字經過該函式的轉換後,通常都會變成ae或者eeecc 這一類無意義或者轉換後結果都類似的字串,目前已知,只要站台名稱使用中文時,該函式有時候會轉換失敗,存成空白,而plog_blogs裡的mangled_blog若是空白時,自訂網址就會出現問題,例如即使不存在的網址也都會連到mangled_blog是空白的那個網誌,正常的話應該是顯示該網誌不存在.

而mangled_name則是文章的分類轉換後存的colum,也是一樣,中文的分類名稱經轉換後存進plog_articles_categories的mangled_name時也會變成沒有意義而內容很類似的字串,

我想問的是,table裡要有mangled_blogs和 mangled_name這樣的欄位是有什麼意義呢?他對中文的轉換似乎很糟糕,還有一些資料夾的名稱如果用中文的話,也是會被轉換成一些無意義的字串,我想,如果沒有特殊目的的話,那些地方應該限制使用者只能填寫英文才能避免這一類的問題發生吧?

一來是會讓自訂網址很醜
二來是多存那個colum有什麼特殊的意義嗎?
三是發現目前有些用中文命名的資料夾裡面的圖片會無法正確refrerence到

這些情況都是發生在我有開啟"自訂網址" 這項功能時,
因為我不喜歡網址名稱很長,而且用數字來代表每個人的個人網誌位址

所以開啟"自訂網址"將每個人的網誌位址設定成
http://blog.ysmis.cc/userID

可以請教知道mangled_ooxx意義的人告訴我該怎麼對那個函式去做修正呢?
或者是要從程式碼那邊讓他不要經由函式轉換.而強制使用者必須輸入有意義的英文字串?


主題: [bug] pLog mangled_blogs, mangled_name
作者: markwu八月 21, 2005, 10:11:25 下午
mangled_blogs 和 mangled_name 主要是用來把 blog name 以及 user name 作 normalize,讓他們可以符合 url 中的網址定義規範。

舉個例子,我的 username 是 Mark Wu,在網址中空白是不被允許的,雖然我們可以用 %20 來代替,但是你總不希望你的網址是 http://www.abc.com/Mark%20Wu。

所以 Mark Wu 經過轉換後會變成 mark_wu。但是這樣的轉換對中文是不適用的。所以你如果有搜尋過論壇的文章,我一直都建議大家不要把 custom url 中的網誌訂為 {blogname}, {albumtname} 或是 {username}。而 post name 因為會用 post slug 來取代,所以不回會有這樣的問題發生。(其實還是會,如果你在 post slug 中使用中文,這一樣會會發生)。

唯一可以改變的方式,就是比照 post slug, 另外加入 user name slug , album name slug 與 blog name slug ...所以當使用者的網誌名稱是:『我的ABC Blog 時』,網址可以用 『 my_abc_blog』來取代。但是這必須要去修改 pLog 的核心。基本上這樣的 idea 會在 1.1 實作。

目前最簡單的方式,應該是把 blog name  寫成英文,例如 『my_blog_abc』而 blog description 寫成 『我的 ABC blog』。然後在模版中把 blog name 用 blog description 來取代。這樣記可以使用 custom url,又能讓模版中顯示正確的中文 blog 名稱。其他的地方以此類推。

Mark