3

サーブレットと JSP で構成される単純な Web アプリケーションがあります。1 つの JSP では、サーブレットに送信されるデータが入力され、そこでサーブレットはバックエンドとやり取りしてデータを DB (MySQL) に保存します。

私の問題は、データがアラビア語であるため、ページディレクティブをUTF-8エンコーディングで設定し、リクエストとレスポンスの両方のエンコーディングをutf-8に設定するフィルタを追加しましたが、それでもJSPからサーブレットにゴミデータを取得します.

私はApache Tomcat Server v6.0を使用していることに注意してください。私の問題はどこにあるのか分かりますか?

4

3 に答える 3

3

デフォルトでは、Tomcat はISO-8859-1ブラウザから受け取った URL をデコードするときに文字エンコードを使用します。Tomcat の server.xml のファイル コネクタ要素に、次の値の URIEncoding 属性があることを確認する必要がありますUTF-8

<Connector port="8080" 
           protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443"/>

詳細については、こちらをご覧ください。

于 2012-10-01T12:59:50.863 に答える
0

テキストが文字列ではなく、Unicode としてデータベースに保存されていることを確認してください。次に、表示するときにutf-8としてエンコードします。

于 2012-10-16T19:06:40.310 に答える