0

JBOSS 4.x から 5.1 に移行していますが、文字エンコーディングに問題があります。

拡張 ASCII 範囲の特定の文字は、以前の JBoss バージョンでは問題ありませんでしたが、新しい JBoss では問題が発生します (たとえば、不完全な http 応答)。

解決策は UTF-8 を使用することのようですが、JBoss が Content-Type ヘッダーで charset=UTF-8 を送信する唯一の方法は、すべての JSP ページのページ ディレクティブでこれを指定することです。それ以外の場合、http 応答の文字セットは ISO-8859-1 として指定されます。文字セットを UTF-8 に設定するためのグローバルな解決策を見つけたいと思います。

JBoss での文字エンコーディングに関する他の質問をいくつか見ましたが、http 応答のエンコーディングに対処しているようには見えません。

私は成功せずに試しました:

  • jboss/bin/run.bat で、「JAVA_OPTS=-Dfile.encoding=utf-8 %JAVA_OPTS%」を設定
  • jboss/server//deploy/jbossweb.sar/server.xml 設定で
4

1 に答える 1

1

私はスプリングエンコーディングフィルターを使用してエンコーディングを設定しました:

<filter>
 <filter-name>encodingFilter</filter-name>  
 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
 <init-param>  
    <param-name>encoding</param-name>  
    <param-value>UTF-8</param-value>  
 </init-param>  
 <init-param>  
    <param-name>forceEncoding</param-name>  
    <param-value>true</param-value>  
 </init-param>  
</filter>  
<filter-mapping>  
 <filter-name>encodingFilter</filter-name>  
 <url-pattern>/*</url-pattern>  
</filter-mapping> 

スプリングを使用しない場合は、エンコーディングを設定するサーブレット フィルターが必要になります。

于 2012-10-09T18:52:18.710 に答える