Rubyをダウンロードする。QRコードをpng画像で出力するにはruby-GDライブラリが必要とのこと。わけでlibpng3やらGDライブラリとともにruby-GDライブラリをインストール。私はパッケージ管理にFinkを使ってるので以下のようになった。...ruby-GDのインストールRAAから最新版のruby-GDをダウンロードする。--with-gd-lib=/sw/libと指定する。Linuxの場合はデフォルトで多分平気。Rubyを展開してやる。~/project/rails/test/lib/Readmeを読んでみると、qrcode.rbの10行目@path="./qrcode_data"をデータディレクトリに合わせて変更してください。書いてあるので、qrcode_dataディレクトリを適切に指定してやる。今回はライブラリをlibフォルダ以下につっこんだので、多分こうなる。@qrcode_error_correct="M"...RailsアプリからQRコードを出力するそれではテストを兼ねてRailsアプリからQRコードを出力してみる。QrCodeコントローラにindexというメソッドを追加し、以下のように記述する。img.destroyendサーバを起動し、http://localhost:3000/qr_codeにアクセスしてみる。本来ならこれで見れるんだけど、たぶん日本人が作ったアプリケーションだった場合、ほぼ確実にエラーがでてしまってQRコードが生成されない。Nasuta開発ブログの「QRコードの生成について」というエントリにあるようにどうやら文字コードの問題のようだ。具体的に言うと日本語を利用したRailsアプリの場合、config/environment.rbで$KCODEを指定することが多いと思うのだけど、これを指定することによりRegexpクラスの挙動が変わってしまうことが原因。$KCODEがスレッドローカルな変数だったのならQRコードを生成するメソッド内のみで$KCODEを指定し直せば良いと思われるが、残念ながらグローバルスコープの変数の模様。いうわけでqrcode.rbの方を修正する。qrcode.rbをvendorフォルダではなく、libフォルダにいれたのは修正作業や編集作業が発生するからだったのだ。修正するのはqrcode.rbの591行目から606行目までのあたりで、Regexp.compileしているところ。Regexp.compileに第三番目の引数を与えることによってRegexpのエンコーディングフラグをデフォルトに変更しなおしてやる。'n'))てか久しぶりに長文書いたなあ...。