CasperJS + Heroku:UTF-8中的无效字节序列(ArgumentError)

时间:2015-02-03 02:26:03

标签: heroku casperjs

我在heroku中运行CasperJS脚本,但heroku报告:

 !    Heroku client internal error.
 !    Search for help at: https://help.heroku.com
 !    Or report a bug at: https://github.com/heroku/heroku/issues/new

    Error:       invalid byte sequence in UTF-8 (ArgumentError)
    Command:     heroku run casperjs testing.js
    Version:     heroku-toolbelt/3.25.0 (x86_64-darwin10.8.0) ruby/1.9.3
    Error ID:    a519228772c040d788af55b660c13be7

我在SO中检查了其他问题,我发现错误可能是由R​​uby发出的。

如何防止此错误?

P.S。该计划是从一些中国网站获取一些信息。提取了一些数据,但有些数据无法获取。它遇到此错误随机(通过执行相同的命令进行几次双重检查)

1 个答案:

答案 0 :(得分:0)

E.J. Finneran找到了a workaround,将数据转换为base64(参见github线程的底部)。

我在这里重复他的解决方案:

heroku run 'replicate -r ./config/environment -d "Post.all" | base64'  > base64_file

# Clean up the base64_file since heroku flattens STDERR to STDOUT so you'll have some junk lines at the top

base64 -i base64file -D > binary_file
replicate -r ./config/environment -l < binary_file