ホームページ  >  記事  >  ウェブフロントエンド  >  springmvcでajax送信時に中国語が文字化けする場合の対処方法

springmvcでajax送信時に中国語が文字化けする場合の対処方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-04 17:12:251489ブラウズ

今回はspringmvcでajax送信する際の中国語文字化けの対処法を紹介します Springmvcでajax送信する際の注意点を紹介します。

spingmvcを使用してJSでajax経由でリクエストを送信し、データをjson形式で返します。データベースから取り出すと中国語の形式は正しいですが、ページに表示すると間違っていますか? ? , 少し調べてみると、解決策がいくつかあります。

私は sping-web-3.2.2,jar を使用しています

方法 1:

@RequestMapping

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

メソッド 2 にプロデュース = "text/html;charset=UTF-8" を追加します。

StringHttpMessageConverterのデフォルトで設定されている文字セットはISO-8859-1であるため
そこでソースコードを入手し、UTF-8に変更してspring-web-3.2.2.jarにパッケージ化しました

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

方法 3:

org.springframework.http.MediaType のコンストラクター メソッド のパラメーターを変更し、構成

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

Xml コードを applicationContext-mvc.xml

<bean id="stringHttpMessageConverter" 
  class="org.springframework.http.converter.StringHttpMessageConverter"> 
  <property name="supportedMediaTypes"> 
    <list> 
      <bean class="org.springframework.http.MediaType"> 
        <constructor-arg value="text" /> 
        <constructor-arg value="plain" /> 
        <constructor-arg value="UTF-8" /> 
      </bean> 
    </list> 
  </property> 
</bean>
に追加します。 方法4

org.springframework.http.converter.StringHttpMessageConverter クラスは、リクエストまたは対応するstrings

を処理するクラスであり、デフォルトの文字セットは ISO-8859-1 であるため、返された json に中国語が含まれている場合、文字化けが発生します。

StringHttpMessageConverter の親クラスには ListsupportedMediaTypes 属性があり、これは、処理する必要がある MediaType タイプが SupportedMediaTypes リストにない場合に、StringHttpMessageConverter がサポートする MediaType タイプを格納するために使用されます。デフォルトの文字セットが使用されます。

解決策は、設定ファイル

に次のコードを追加するだけです:

<mvc:annotation-driven>
<mvc:message-converters>
 <bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
 <value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
他の MediaType タイプを処理する必要がある場合は、他の値タグをリスト タグに追加できます

この後の方法はマスターできたと思います。この記事の事例を読むなど、とても興味深い内容です。php 中国語 Web サイトの他の関連記事にも注目してください。

推奨読書:

Ajax で非同期をリクエストする方法は何ですか?使い方

AJAXのXMLHttpRequestオブジェクトの使い方を詳しく解説

🎜

以上がspringmvcでajax送信時に中国語が文字化けする場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。