プログラミング的なSomething

プログラミング的なSomething

ITエンジニア(?)目線で生活・自転車・トレーニング話を綴ります

文字コードがUTF-8じゃなくて困ったときのメモ&(近況)クローラー作っとります〜

最近はRubyによるクローラー開発技法を読み進めています。Kimonoがサービス停止したので、クローラー開発技法を身につけざるを得ないというのが正しいですね。

しかしこの本おもしろい。クローラー向けのライブラリAnemoneだけでなく、Capybaraといったテストで使われるツールこそクローラーとして活用できると、実際の実例を交えて解説しています。

開発している方は平気で読み進められると思いますが、Rubyだけ読んでると結構この本はキツいと思われますが、Rails Tutorialでモダンなテスト技法なんかをあらかた舐めておけばそれほど苦もなく読めます。私が保証します。

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

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だったら読み込めないので気を付けないとっす。