文字コードがUTF-8じゃなくて困ったときのメモ&(近況)クローラー作っとります〜
最近はRubyによるクローラー開発技法を読み進めています。Kimonoがサービス停止したので、クローラー開発技法を身につけざるを得ないというのが正しいですね。
しかしこの本おもしろい。クローラー向けのライブラリAnemoneだけでなく、Capybaraといったテストで使われるツールこそクローラーとして活用できると、実際の実例を交えて解説しています。
開発している方は平気で読み進められると思いますが、Rubyだけ読んでると結構この本はキツいと思われますが、Rails Tutorialでモダンなテスト技法なんかをあらかた舐めておけばそれほど苦もなく読めます。私が保証します。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: 佐々木拓郎,るびきち
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/22
- メディア: 単行本
- この商品を含むブログ (9件) を見る
Ruby on Rails チュートリアル:実例を使って Rails を学ぼう
さて本題ですが、Ruby version2以降で何故か文字コードエラー「invalid multibyte char (UTF-8)」にハマったのでメモ。
ファイルの形式がUTF-8じゃあないからダメ
結論からですがファイルの文字コードがUTF-8じゃなかったのでNGでした。
調べるにはfileコマンド。
# file --mime login.rb => login.rb: text/x-c++; charset=unknown-8bit
解消はvimで。
:set fenc=utf-8
バッチグー。
# file --mime login.rb => login.rb: text/x-c++; charset=utf-8
Ruby2.0以降でもファイルの形式自体がNGだったら読み込めないので気を付けないとっす。