open-uriのテスト
普通に何も考えずに使ってみたら文字化けしたので、
NKF使ってShift_JISに変換してから出力させたらうまくいった。
require "open-uri" require "nkf" url = ARGV[0] || "http://d.hatena.ne.jp/gan2/" opt = "-s -xm0" open(url){|f| print NKF.nkf(opt, f.read) }
opt(オプション)についての解説をちらっと。
「-s」で変換する文字コードをShift_JISに指定している。
「-e」ならEUC。「-j」ならJIS。「-w」ならUTF-8という具合。
「-xm0」はちょっとややこしくて、これは「-x」と「-m0」をまとめて書いたものだ。
「-x」は半角カナを全角カナに変換しないようにするためのオプション。
「-m0」はMIMEの処理を抑制するためのオプション。
厄介なことに、デフォルトではこれらがオンになっているので、
単に文字コードの変換にNKFライブラリを使うときは、
「-xm0」を付けるのが望ましいらしい。
オプションの説明をするのに「-」を文頭に置いたら、
全部リスト記法だと取られてまいった。あちゃー。