IDN ドメイン名を Punycode から同等の Unicode に変換する必要がある Rails アプリを作成しています。GNU LibIDN へのバインディングを持つ idn gemをインストールしようとしましたが、ネイティブ コードがコンパイルされません。どうやら他の人も Ruby 1.9.x で同じ問題を抱えているようです。
純粋な Ruby SimpleIDN gemも試しましたが、ネイティブの方が好みです。
IDN ドメイン名を Punycode から同等の Unicode に変換する必要がある Rails アプリを作成しています。GNU LibIDN へのバインディングを持つ idn gemをインストールしようとしましたが、ネイティブ コードがコンパイルされません。どうやら他の人も 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"
おっと-投稿後すぐに有能な答えを見つけたようです(申し訳ありません)。プロジェクトの RubyForge ページ のバグ レポート セクションに、2010 年 9 月からさりげなく配置されたパッチがあります。これを Gemfile に追加すると、idn ライブラリを使用できるようになります。
gem 'idn', '~> 0.0.2', :git => 'git://github.com/mihu/idn'
宝石が明らかに放棄されているのは残念です:/