2012-03-05 39 views
0

一概而論,需要Unicode文本,並試圖通過嘗試音譯通過一些其他的書寫體系的文本 以羅馬字母表達的發音來代表它在 US-ASCII字符(普遍顯示,重音字符) 。任何紅寶石做的(中文)音譯(羅馬化),尤其是URL?

前,

"一二三".ooxx => "e-er-san" 

http://rubygems.org/search?utf8=%E2%9C%93&query=pinyin後,我得到了一些RubyGems的,但他們都不是穩健可行的解決該問題。

+0

我發現https://github.com/flyerhzm/chinese_pinyin可以解決我的問題。 – Drake 2012-03-08 16:46:50

+0

Pinyin.t(title,'').scan(/ [0-9a-zA-Z] + /)。join(' - ') – Drake 2012-03-09 16:37:53

回答

0

完全做這件事幾乎是不可能的,因爲一些中文字符有兩個或更多的發音,例如銀行= yin hang,不行= bu xing(最後一個字符是相同的,發音是掛在一個上下文中,xing在另一個上) ...除此之外,你可以使用unicode數據庫,我認爲它也有發音信息。如果你想變得更加奇特,我認爲有一些開源的輸入法有映射,他們也會用它們來表達,所以如果你發現銀行在一起,它就會知道第二個字符是掛起的,不是xing。 OpenVanilla可能有您可以使用的數據庫(OSS)。