TwitterbotをHerokuからXserver上に移してCronで定期的に実行する様にしてから不具合のあったreplies.rb。問題点は直ぐに見つかったけど、その後Cronから実行するとこんなエラーが。
1 |
replies.rb:37:in `split': invalid byte sequence in US-ASCII (ArgumentError) |
で該当のコードがこちら。
1 2 3 4 5 6 |
open('dictionaries/vocList.txt') do |f| f.each do |line| a, b = line.split(/\t/) @vocList << [a, b] end end |
要はこのボキャブラリー・リストがアクセントやñを含む文字を含んでいるから文字化けが起こったのだと思う。で対処法としては
1 |
open('dictionaries/vocList.txt') do |f| |
を
1 |
open('dictionaries/vocList.txt', "r:UTF-8") do |f| |
とすると正しい文字コードが使われて実行出来るようになった。
よかった、よかった。