現在Youtubeに注力してますので是非チャンネル登録お願いします!

胡田昌彦のコンピューター系チャンネル

この記事は約1分で読めます。

自作のRSSフィードを読み込んでTwitterでつぶやくスクリプトも動かなくなってました。出ていたエラーは以下。

[2012-07-11 12:34:29 +0900 mode=load] Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8

普通に文字結合をしていた部分で文字コードのアンマッチが問題になってしまっているようです。

p "#{feed['comment']} / #{item.title} #{short_url}"

ただこれだけのコードなんですけど、RSSで取得してきた情報の中にASCII-8BITとUTF-8が混在していて問題になっているようです。

よく対処方法がわからなかったので、とりあえず全部UTF-8にしちゃいました。

feed['comment'] = feed['comment'].force_encoding('UTF-8')
item.title = item.title.force_encoding('UTF-8')
short_url = shorten(item.link).force_encoding('UTF-8')

とりあえずこれで動きました。

コメント