sdicのために英辞郎のデータ変換しようとしてハマった

英辞郎は三版.Windows vista + Meadow + Cygwinで,Webで見付けた色々な所の記事を参考にやってたら,辞書データの変換のところでエラーが出てしまった.
英辞郎第四版買ってみた。emacsで使いたい。 sdic編からrubyスクリプトをコピーさせてもらって使っていたのだけれど,次のようなエラーが出た.

invalid byte sequence in Windows-31J

最初改行コードの問題かとも思ったけどどうも違うらしい.http://doruby.kbmj.com/yoppi_on_rails/20090430/Ruby_19_rake_によると,Ruby1.8と1.9で文字コードの扱いが変わったことが原因でこのエラーが出るらしい.確認してみたらやっぱ1.9が入ってた.そこで再度今のサイトの記述を確認すると,例外が出る直前に

Encoding.default_external = 'UTF-8'

と書き足せば解決できるらしい.というわけでスクリプトの14行目に上記の記述を追加したところ無事に変換できた.あとは特に問題なくインデックスの作成なんかも終了してsdic使えるようになった.これは便利.もっと早く入れとけばよかった.