0

eclipse ide で jboss7 と mysql を使用して、spring mvc と jpa を使用してアプリケーションを構築しています。私は奇妙な問題を抱えています。すべての jsp ページは charset: utf8 でエンコードされていますが、これは正しく機能していると思います。しかし、jsp からコントローラにデータを送信しようとすると、データが別のエンコーディング スタイルでエンコードされます。firebug を使用してヘッダーを検索しようとしたところ、post リクエストにコンテンツ タイプ「text/plain;charset=ISO-8859-1」のヘッダーがあることに驚きました。web.xml で UTF-8 の SetCharacterEncodingFilter を既に構成しています (これが最初のフィルターです)。しかし、それでも問題は存在します。

また、「org.apache.catalina.connector.URI_ENCODING」を value="UTF-8" に設定しましたが、無駄です。

またmessageSource、プロパティ defaultEncoding を「UTF-8」に設定した Bean を追加しました。

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" > 

問題はまだ存在します。助けてください

前もって感謝します。

4

2 に答える 2

1

リクエストヘッダーはブラウザによって設定されるため、アプリケーションはそれを制御できません。通常、HTMLフォームにaccept-charset=utf-8属性を設定してエンコーディングを指定できますが、必ずしも機能するとは限りません。この質問を参照してください。InternetExplorerのフォーム送信での文字エンコードの設定

于 2012-08-10T08:03:22.690 に答える
0

次のようにJVMのエンコーディングを設定する必要があります。

-Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8 

したがって、疑いはまったくありません。

于 2012-08-24T23:43:28.460 に答える