jgarber のカスタム buildpackを使用して、Heroku でホストしているOctopressブログを持っています。に固執している限り、かなりうまく機能していましたが、最近、 MultiMarkdownサポートのためにに切り替えることにしました。その時、物事は奇妙になりました。rdiscount
kramdown
これは私のローカル ボックス (OS X) では問題なく動作しますが、Heroku にプッシュすると、次のエラーが発生します。
Liquid Exception: incompatible character encodings: UTF-8 and ASCII-8BIT in atom.xml
私が知る限り、私は根っからの UTF-8 ですが、Ruby が私の通常のスタックではないことはすぐに認めます。私はkramdown
v0.14.2 を使用しています。を使用するforeman run rake clean generate
と、 と同様にすべてが機能しbundle exec rake clean generate
ます。ただし、Heroku にプッシュ (または実行heroku run rake clean generate
) すると、上記のエラーが発生します。
問題はデフォルトのエンコーディングに関係しているのではないかと考えたので、次の実験を行いました。
$ irb
1.9.3-p327 :001 > ENV["LANG"]
=> "en_US.UTF-8"
1.9.3-p327 :002 > Encoding.default_external
=> #<Encoding:UTF-8>
と
$ heroku run irb
Running `irb` attached to terminal... up, run.6846
irb(main):001:0> ENV["LANG"]
=> "en_US.UTF-8"
irb(main):002:0> Encoding.default_external
=> #<Encoding:UTF-8>
この時点で、私はすべてのアイデアがありません。