我正在寫一個Rails應用程序,它需要將來自Punycode的IDN域名轉換爲其Unicode等效項。我嘗試安裝綁定到GNU LibIDN的idn gem,但它不會編譯本機代碼。顯然others與Ruby 1.9.x有相同的問題。Ruby將IDN域從Punycode轉換爲Unicode
我也試過純紅寶石SimpleIDN gem,但我更喜歡本地的東西。
我正在寫一個Rails應用程序,它需要將來自Punycode的IDN域名轉換爲其Unicode等效項。我嘗試安裝綁定到GNU LibIDN的idn gem,但它不會編譯本機代碼。顯然others與Ruby 1.9.x有相同的問題。Ruby將IDN域從Punycode轉換爲Unicode
我也試過純紅寶石SimpleIDN gem,但我更喜歡本地的東西。
嘗試simpleidn gem。它適用於Ruby 1.8.7和1.9.2。
編輯您的Gemfile:
gem 'simpleidn'
那麼你可以輸入如下命令:
SimpleIDN.to_unicode("xn--mllerriis-l8a.com")
=> "møllerriis.com"
SimpleIDN.to_ascii("møllerriis.com")
=> "xn--mllerriis-l8a.com"
哎呀 - 看起來像我發現後不久發現一個有能力的答案(對不起)。在project's RubyForge page的bug報告部分有一個從2010年9月的patch巧妙放置。添加此我的Gemfile現在允許我使用IDN庫:
gem 'idn', '~> 0.0.2', :git => 'git://github.com/mihu/idn'
太糟糕了,創業板顯然是放棄了:/
也許你想保持的寶石,將是很好的。 – asaaki 2011-06-01 08:19:55
@asaaki我完全會,但我仍然是一個Ruby noob。也許有一天 :) – 2011-06-01 16:17:51