我正在编写一个 Rails 应用程序,需要将 IDN 域名从 Punycode 转换为其等效的 Unicode。我尝试安装与 GNU LibIDN 绑定(bind)的 idn gem,但它不会编译 native 代码。显然 others 与 Ruby 1.9.x 有同样的问题。

我也尝试过纯 Ruby 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"

10-08 17:20