2017-01-26 9 views
1

Tomcatのserver.xmlとweb.xmlとjspページのエンコーディングが "UTF-8"に設定されています。 html形式でsuchなどの特殊文字をポストすると、javaコードはStringEscapeUtils.unescapeHtml4(str)を意図的に使用して、この特殊文字Ďをdbに保存します。私はDBから値を取得し、次にシステムのプリントアウトを行い、jspタグで、両方の場所にシンボルが表示されますか? (疑問符)。 別のポスト "記号が定義されていません"では、jspレンダリングの問題を解決しました。しかし、tomcatシステムの出力/コンソールはまだ表示されますか? (疑問符)struts html文字エンコーディングとデコード

ありがとうございます。

+0

何データベースあなたがにデータを永続化されており、どのような文字セットがデータベースに設定されていますか? –

+0

これはOracleデータベースです。私はdba特権を持っていませんが、dbフィールドに表示されたseeを見ることができます。キャラクターをDBに保存するベストプラクティスを教えてください。私はdbフィールドの節約が簡単だと思った。しかし、それは私がエンコーディングに変換する必要があることが判明。 – Windy

答えて

0

これは、データが永続化され、データベースレベルで適切にサポートされていることを確認したようです。私はあなたのストラットwebappにUTF-8でエンコードされたすべてのリクエストとレスポンスを処理させるためにサーブレットフィルタを追加しようとしています。

は、次のような文字セットのフィルタを定義します。

<filter-name>Set Character Encoding</filter-name> 
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
</filter> 

<!-- Define filter mappings for the defined filters --> 
<filter-mapping> 
    <filter-name>Set Character Encoding</filter-name> 
    <servlet-name>action</servlet-name> 
</filter-mapping> 
+0

私はこの設定をweb.xml SetCharacterEncoding /* に入れましたが、値。まだ動作していません。 。喜んで助言する。ありがとう – Windy

+0

はい。それがweb.xmlにあるのです。しかし、JSPはまだレンダリング?システム出力はまだ表示されますか? 。 – Windy

関連する問題