【发布时间】:2014-07-09 02:58:41
【问题描述】:
我有一个 ruby 脚本,它抓取 Twitter 帐户,输出到 CSV,加载/清理 CSV,并通过 MarkyMarkov 运行它以生成 @ebooks 风格的推文。
当我从命令行手动运行该脚本时,该脚本在我的服务器上完美运行,但是当我通过 cron 运行它时,它会生成以下错误:
usr/share/ruby/csv.rb:2058:in `=~': invalid byte sequence in US-ASCII (ArgumentError)
from /usr/share/ruby/csv.rb:2058:in `init_separators'
from /usr/share/ruby/csv.rb:1590:in `initialize'
from /usr/share/ruby/csv.rb:1376:in `new'
from /usr/share/ruby/csv.rb:1376:in `parse'
from script.rb:57:in `<main>'
不知道为什么我运行它和 cron 的结果会有所不同。关于什么是错误的或如何进行调试的任何建议? Ruby 菜鸟在这里。
【问题讨论】:
-
听起来好像cron运行的ruby版本比较老(pre-2.0),默认编码是US-ASCII,用户ruby比较新,默认编码是UTF- 8