2016-09-22 4 views
0

マルチパート/フォームデータresttemplateリクエストのためにUTF-8文字セットを設定したいと思います。しかし、それは動作しません。私はここで多くの答えを読んでいますが、私は???をレストサービス側に持っています。Spring RestTemplateの文字セットUTF-8が機能しない

マイサーバー側RestController私のクライアント側RestTemplateコード

enter image description here

:ここで私が唯一の問題は、UTF-8テキストの代わりにマーク取得します。ここでは、フォームのテキストがUTF-8に正しく表示されます。

enter image description here

PS。レストクライアントとしてPostmanを使用すると、テキストがUTF-8に表示されます

+0

[httpmessageconverter] [1]を設定しましたか?メッセージコンバータは、HTTPを介してJSON、XMLなどとの間でJavaオブジェクトをマーシャリングおよびアンマーシャリングするために使用されます。 [1]:http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/converter/HttpMessageConverter.html –

+0

はい、両方でメッセージコンバータを設定しました側面。 <プロパティ名= "supportedMediaTypes" 値= "text/plain; charset = UTF-8" /> 0bj3ct

答えて

2

エンコードを試しましたか?

map.add("message",URLEncoder.encode(emailForm.getEmailContent(), "UTF-8")); 
+0

ありがとう@RahulKumar。これは回避策のようですが、うまくいきます!私は、クライアント側でメッセージの内容と件名をURLエンコードし、サーバー側でURLデコードを行います。 – 0bj3ct

+0

はい、これは回避策ですが、データが異なる呼び出し間で変形している特殊文字のサポートを維持するために広く使用されています。私はDBが特別な文字型のデータをサポートしていないときに、DBに特殊文字を入れるのを覚えています。 –

関連する問題