Springmvc ajax中国語の文字化けしを送信するいくつかの解決方法


詳細
spingmvcを使って、JSの中でajaxを通じて要求を送って、そしてjsonフォーマットのデータを返して、データベースから取り出して正しい中国語のフォーマットで、ページの上で間違いを展示しますか?、研究してみると,いくつかの解決策がある.
私が使っているのはsping-web-3.2.2,jar
方法1:
@RequestMappingにproduces="text/html;charset=UTF-8"を加える

  @RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
  public @ResponseBody String configrole() {
    ......
  }

方法2:
StringHttpMessageConverterでは文字セットがISO-8859-1とデフォルト設定されているため
ソースコードを入手し、UTF-8に変更してspring-web-3.2にパッケージします.2.jar

public class StringHttpMessageConverter extends AbstractHttpMessageConverter
{
  public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
  ..........
}
 

方法3:
変更org.springframework.http.MediaTypeの構造方法のパラメータは、アプリケーションContext-mvc.xml加入構成

public MediaType(String type, String subtype, Charset charset) {
    super(type, subtype, charset);
}

    
        
            
                
                    
                    
                    
                
            
        
    

方法4:
直接org.springframework.http.converter.StringHttpMessageConverterのプロパティdefaultCharsetをutf-8に設定


     


上のいくつかの方法はテストを経ても実行可能で、ネット上には他の方法があり、後で見つけて一緒に追加します.