2012-03-14 5 views
7

プライムフェイス3.1と今までの私のユニークなdisapointmentを共有しましょう... RichFacesアプリで泥のコンポーネントを使用していますが、問題が発生したときに問題なく、母国語の一部の文字が正しく表示されませんすべての場所でUTF-8の文字セットが宣言されていることがわかっています。primefaces Webアプリケーションでの文字セットの設定方法は?

「サンパウロ」のような特殊文字を入力してページを送信すると問題が発生します。

1)のEclipse IDE:オプション

2をencondingテキストファイル)JSFファイル:

後に提出したデータは、私はすでにfolowing回避策を試みた "サンパウロO SAA£" として再表示

です

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

3)JBOSSのserver.xml:

<Connector protocol="HTTP/1.1" URIEncoding="UTF-8" port="${jboss.web.http.port}" address="0.0.0.0" 
     redirectPort="${jboss.web.https.port}" /> 

4)のweb.xml:

<?xml version="1.0" encoding="UTF-8"?> 

5)JSFファイル:

<h:form acceptcharset="UTF-8" enctype="application/form-data"> 

6)は、任意の助けを3.2

おかげにprimefacesのバージョンをアップグレード! ;-)さんは私の問題を解決するため、私はすべての要求のための文字セットを設定し、フィルタを作成することを余儀なくされてきた

+1

PrimeFaces 3.2がリリースされたことは注目に値することです。それがあなたの問題を解決するかどうかはわかりませんが、試しても傷つけることはありません。 –

+0

これを試しましたが、問題は解決しません...とにかく、ありがとうございました! – Guilherme

+1

RichFacesまたはPrimeFacesを使用していますか?あなたはむしろ混乱している "RICHFACES"を叫んだ。 RichFacesの場合、JSPまたはFaceletsを使用していますか?問題をより詳細に記述してください。問題がどのようにどこで発生しているのか明確ではありません。問題を再現する方法の詳細なステップを記述します。予想/予期しない結果を詳細に記述します。例えば。 "私は' h:inputText'にXYZを入力し、それを 'h:outputText'でZYXとして再表示しました。 – BalusC

答えて

9

...

public class CharacterEncodingFilter implements Filter { 

    @Override 
    public void destroy() { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void doFilter(ServletRequest request, ServletResponse response, 
     FilterChain chain) throws IOException, ServletException { 
     response.setCharacterEncoding("UTF-8"); 
     request.setCharacterEncoding("UTF-8"); 
     chain.doFilter(request, response); 
    } 

    @Override 
    public void init(FilterConfig arg0) throws ServletException { 
     // TODO Auto-generated method stub 
    } 

} 

1

confの中に私だけのコメントを外し、その部分/すべてのリクエストをフィルタリングしてUTF-8に変換するweb.xml(Tomcat server web.xml)。

<!-- A filter that sets character encoding that is used to decode URIs--> 
<!-- parameters in a POST request --> 
<filter> 
     <filter-name>setCharacterEncodingFilter</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> 

    <!-- The mapping for the Set Character Encoding Filter --> 
    <filter-mapping> 
     <filter-name>setCharacterEncodingFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
関連する問題