MultipartEntityBuilder と Charset 質問する

MultipartEntityBuilder と Charset 質問する

httpmime パッケージをアップグレードしたら、文字列が UTF-8 として送受信されなくなりました

MultipartEntityBuilder entity = MultipartEntityBuilder.create();
Charset chars = Charset.forName("UTF-8");
entity.setCharset(chars);
entity.addTextBody("some_text", some_text);

HttpPost httppost = new HttpPost(url); 
httppost.setEntity(entity.build());
...and so on..

何が足りないのでしょうか? 以前はStringBodyを構築して、そのStringBodyに文字セットを設定していましたが、現在は廃止されており、機能していないようです。

ベストアンサー1

解決しました:) ContentTypeが重要になっていて、プレーンテキストとJSONテキストの両方を送信していたことが判明しました。

プレーンテキストの場合は以下を使用できます:

entity.addTextBody("plain_text",plain_text,ContentType.TEXT_PLAIN);

JSONの場合:

entity.addTextBody("json_text",json_text,ContentType.APPLICATION_JSON);

そうすれば、文字セットは JSON 文字列でも機能します (奇妙ですが、今は問題ありません)

おすすめ記事