昨日書いた記事でhlintに--encoding=utf-8オプションつければいいよって書いたんだけど、doctestとかでも同じエラーで怒られた(doctestには--encodingオプションは無い)ので別の方法を探しました。
ちなみにOSはWindows 7です。
で、原因はシェルのコードページがutf8になっていないかららしいです。
なのでchcpコマンドでutf-8のコードページ65001を指定してやればよろしいです。
> chcp 65001
Active code page: 65001
> hlint invalid.hs
No suggestions
> doctest invalid.hs
Examples: 0 Tried: 0 Errors: 0 Failures: 0
ぼくはCmderというターミナルエミュレータ使ってるので、立ち上げたときにコードページ勝手に変えてくれるように設定すると幸せです。
cmder\vendor\init.batの末尾に
chcp 65001
cls
て付け加えるといい感じ。
(゚∀゚)