2016-09-22 199 views
0

我想爲Multipart/form-data resttemplate請求設置UTF-8字符集。但它不起作用。我在這裏閱讀了很多答案,但在Rest服務方面我只獲得了???Spring RestTemplate字符集UTF-8不起作用

我的服務器端RestController。在這裏,我得到的只是問號代替UTF-8文:

enter image description here

我的客戶端代碼RestTemplate。這裏格式文本在UTF-8正確顯示:

enter image description here

PS。當我使用Postman作爲Rest Client時,文本顯示在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

Thanks @RahulKumar。這看起來像一個解決方法,但它的工作原理!我對客戶端的消息內容和主題以及服務器端的URL解碼進行了URL編碼。 – 0bj3ct

+0

是的,這是一種解決方法,但它被廣泛用於維護特殊字符的支持,以便數據在不同的調用之間變化。我記得它使用DB中的特殊字符,當DB不支持特殊字符類型的數據。 –