SpringMVCの@ResponseBodyはJSONに戻って、中国語の文字化けし問題の解決.

3427 ワード

SpringMVCの@ResponseBodyは、jsonに戻って、中国語で文字化けしを表示する解決策があれば.
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>