分享內容(
所以直接用 to_permlink 建置在其中。
修改 Model
只要把第18日辛苦建立的 model ,改成這樣就可運作:
就可以有把中英文標題轉成 permalink 的功能了,如附圖的左下角連結顯示:

有關中文在網址裡面,如果是直接在參數裡面,在早期似乎容易會有是用 Big5 或 UTF-8 的編碼來傳出 url 的 query,與 server 端不符就找不到;而現在 UTF-8 算是普及了,可能就比較少會碰到這樣子的狀況;然而以中文在 Firefox 上網址顯示,至少 3.x 版看起來會是這樣,q=看電影,而在 2.x 版及在 IE6 上的網址顯示 q=%E7%9C%8B%E9%9B%BB%E5%BD%B1 (至於 IE7 是不是就不是亂碼?),對於沒有中文字型(Unicode環境下的電腦都可看中文字嗎?),可能就不具可讀性(英文字母的可讀性?而不是字母拼出來的意義可讀性?);至少轉成漢語拼音方式,就完全減少掉亂碼出現的機會,也具有一些網址的辨識性。
7人
雖然在台灣一直有到底用通用拼音?漢語拼音?羅馬拼音?來解決中文的音譯問題,常是有以國情習慣、國際上慣用、甚至政治等不同的角度來爭議,看要用哪一種;最近台灣的路牌好像要改成漢語拼音了。
而目前在網路上有關中文拼音的 ruby 的相關程式,是在 http://www.upulife.com/leo/?p=260,可以立即把中文轉成漢語拼音,在此就用這現成的工具來達成今日的目標。
安裝及使用
先下載 http://www.upulife.com/ruby/ruby-pinyin.tar.gz 並解開後,把 pinyin.rb 及 dict 的目錄,放在 /home/ironman/test1 裡面就可以了。馬上就可以執行測試:
./script/console
Loading development environment (Rails 2.1.1)
>> require 'pinyin.rb'
=> ["PinYin"]
>> py = PinYin.instance
.... # 跑一堆碼出來,不理會,電腦規格與跑的速度有影響
>> py.to_permlink('中文轉漢語拼音')
=> "zhong-wen-zhuan-han-yu-pin-yin"
# 這樣的語法可以把聲調顯示出來
>> py.to_pinyin('中文轉漢語拼音',separator = '-', tone = true)
=> "zhong1-wen2-zhuan3-han4-yu3-pin1-yin1"
# 姓名轉漢語拼音再截字首
>> py.to_pinyin_abbr('劉德華')
=> "ldh"
# 姓氏完整,名取字首
>> py.to_pinyin_abbr_else('劉德華')
=> "liudh"
# 中英文混合
>> py.to_permlink('影集 Prison Break')
=> "ying-ji-Prison-Break"
所以直接用 to_permlink 建置在其中。
修改 Model
只要把第18日辛苦建立的 model ,改成這樣就可運作:
# 編輯 app/models/article.rb
class Article < ActiveRecord::Base
before_save :generate_permalink
def to_param
"#{id}-#{permalink}"
end
protected
def generate_permalink
require 'pinyin.rb'
py=PinYin.instance
self.permalink = py.to_permlink(self.title)
end
end
就可以有把中英文標題轉成 permalink 的功能了,如附圖的左下角連結顯示:

有關中文在網址裡面,如果是直接在參數裡面,在早期似乎容易會有是用 Big5 或 UTF-8 的編碼來傳出 url 的 query,與 server 端不符就找不到;而現在 UTF-8 算是普及了,可能就比較少會碰到這樣子的狀況;然而以中文在 Firefox 上網址顯示,至少 3.x 版看起來會是這樣,q=看電影,而在 2.x 版及在 IE6 上的網址顯示 q=%E7%9C%8B%E9%9B%BB%E5%BD%B1 (至於 IE7 是不是就不是亂碼?),對於沒有中文字型(Unicode環境下的電腦都可看中文字嗎?),可能就不具可讀性(英文字母的可讀性?而不是字母拼出來的意義可讀性?);至少轉成漢語拼音方式,就完全減少掉亂碼出現的機會,也具有一些網址的辨識性。
參考資料:http://www.upulife.com/leo/?p=260
相關問答
- 線上字典
- 在Ruby上,可以用近似 jQuery語法來解析DOM的好工具 -Hpricot
- [Ruby]Ruby要怎麼樣才能使用windows命令列裡的指令呢?
- 繁(簡)體中文XP下,執行簡(繁)體中文的程式不亂碼(AppLocale)
- 請推薦最近的PMP中文教材
- 請教一下搜尋引擎的中文分詞技術?
- Ruby中的Iconv實例:UTF-8轉Big5
- Windows XP SP3 繁體中文版有得下載了嗎?
- 看jQuery作者John Resig談進階JavaScript
- IE7無法下載中文檔案
- WEB OS 有中文的嗎?
- 可以免費使用、開放原始碼的Flash圖表元件
- 日本Ruby會長高橋征義談程式開發人員的Type(勤勉之人、輕量之人)
- 想請問: IM 有無中文版??
- Zend_Mail中文標題亂碼問題
- ubuntu的非官方的論壇有那些中文版有那些可否提供?
- 請問哪裡有 CA BrightStor ARCserve Backup r11 中文操作說明?
- Firefox對中文輸入法的keyup的Event沒有反應,該怎麼解決?
- 騰訊qq要如何在繁體中文xp上安裝??會有亂碼!!!
- SQL Server 2008中文版月底上市










