SpringMVCの@ResponseBodyはJSONに戻って、中国語の文字化けし問題の解決.
3427 ワード
SpringMVCの@ResponseBodyは、jsonに戻って、中国語で文字化けしを表示する解決策があれば.
SpringMVCのプロファイルで
AnnotationMethodHandlerAdapterのソースコードを確認すると、構造パラメータにStringHttpMessageConverterオブジェクトがあるようにデフォルトで符号化されていることがわかります.
さらに詳しく見ると、StringHttpMessageConverterのデフォルトコードが「ISO-8859-1」であることがわかり、utf-8で表示されると文字化けしてしまうのも無理はありません.
ソリューションは次のとおりです.
AnnotationMethodHandlerAdapterでは、カスタムStringHttpMessageConverterのエンコード形式をUTF-8とすればよい.
SpringMVCのプロファイルで
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
</bean>
AnnotationMethodHandlerAdapterのソースコードを確認すると、構造パラメータにStringHttpMessageConverterオブジェクトがあるようにデフォルトで符号化されていることがわかります.
さらに詳しく見ると、StringHttpMessageConverterのデフォルトコードが「ISO-8859-1」であることがわかり、utf-8で表示されると文字化けしてしまうのも無理はありません.
ソリューションは次のとおりです.
AnnotationMethodHandlerAdapterでは、カスタムStringHttpMessageConverterのエンコード形式をUTF-8とすればよい.
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>