dispatch使ったbotで日本語文字化けしていた件

scalaでChatworkとJIRA連携させて、Chatworkでコマンド打つとJIRAのAPIで色々できるbotを作ったんですが、チケットを作るときに日本語で文字化けしてしまっていました

curlならできるので何かしらscalaのコードの問題だったんですが、イマイチわからず。

Content-Typeでapplication/json; charset=utf-8にしてみたり、new String(s, "UTF-8")とかしてみたりしたんですがうまくいかず。

と思っていたら、単純な話で、dispatchというかcom.ning.http.client.RequestBuilderにsetBodyEncodingというのがありました

dispatchだと、Reqに対して

req.subject.underlying { _.setBodyEncoding("UTF-8") }

でできます。(ぱっと見それ用に用意されているメソッドは見つけられなかった。)

これでEncodingをセットしてやったらうまくいきましたとさ。