1. AJAXを使用して前景ページからバックグラウンドコントローラーにデータを転送すると、中国語の文字化けコード(疑問符???)が表示されます。
以前にオンラインでさまざまなソリューションを探しましたが、うまくいきませんでした。最後に、TOMCATサーバーがデータを受信しているための問題であることがわかりました。
解決:
方法1:コントローラーがパラメーターを受信したときにパラメーターをトランスコードします
@ResponseBody@requestMapping(value = "/getjsondatabycityName"、droces = "application/json")public string getjsonbyname(httpservletrequest request、httpservletresponse応答、@requestparam string city_name)servletexception、ioexception { //response.setContentType("text/html; charset = utf-8 "); //request.setcharacterencoding( "utf-8");///solve post the post the post the post rubled upblem system.out.println(request.getCharacterencoding()); city_name = new String(city_name.getBytes( "iso-8859-1")、 "utf-8"); System.out.println( "city_name:"+city_name);}方法2:
tomcatディレクトリでservice.xmlファイルを構成します
tomcat7/conf/server.xml
このコード行にuriencoding = "utf-8"のエンコード属性を追加します
<connector port = "8080" protocol = "http /1.1" connectiontimeout = "20000" redirectport = "8443" uriencoding = "utf-8" />
原因分析:
実際、文字化けされた問題の理由は、デフォルトのTomcat構成であるリクエストがISO-8859-1でトランスコードされており、中国語の文字化けの問題につながるためです。文字化けのコードをUTF-8で正しくトランスコードできる限り、文字化けの問題を解決できます。
2。JSPページからバックグラウンドコントローラーへの通常のデータ送信、中国語で文字化けする問題の解決策
(1)最初にJSPページエンコード形式がUTF-8かどうかを確認します
(2)中国のフィルタリングを設定します
<! - 中国のエンコード - > <filter> <filter-name> charatelecodingfilter </filter-name> <filter-class> org.springframework.filter.characterencodingfilter </filter-class> <init-param> <param-name> encoding </param-name> </param-> utf-8 </</parm-parm <init-param> <param-name> forceConding </param-name> <param-value> true </param-value> </init-param> </filter> <filter-mapping> <filterencodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
(3)SpringMVC構成ファイルでJSONデータ変換を設定します
<MVC:Annotation-Driven> <MVC:Message-Converters Register-Defaults = "true"> <! - スプリングMVCアノテーション関数を開始し、リクエストと注釈のマッピングを完了します。これは、UTF-8-> <bean> <プロパティ名= "supportedmediatypes" value = "text/html; charset = utf-8"/> </bean> <! - JSON形式の設定を開始し、JSON形式に自動的に変換し、他のクラスは不要です - > <bean id = "jacksonmessageconverter"> value = "application/json; charset = utf-8"/> </bean> </mvc:message-converters> </mvc:annotation-driven>
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。