ホームページ >ウェブフロントエンド >jsチュートリアル >springmvcでajax送信時に中国語が文字化けする場合の対処方法
今回は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 の親クラスには List解決策は、設定ファイル
に次のコードを追加するだけです:<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 サイトの他の関連記事にも注目してください。 推奨読書: 🎜
以上がspringmvcでajax送信時に中国語が文字化けする場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。