2010-12-30 10 views
2

Richfaces 3.3.3とrichを使用しています:カレンダーレンダリング "ü"月名は "ü"の代わりに使用します。私のエクスプローラのエンコーディングはUTF-8で、私はすべての主要な探検家に問題を試しました。彼らはすべて "ü"と表示しました。私のロケール設定はトルコ語の "TR"です。もし私が夏になると、「9月」は「Eyl」&#252、トルコ語は「l」となります。Richfacesカレンダー "ü"(&#252)文字の問題

「ü」のスペースは気にしないでください。私はこのポストのためにこのフォームを追加しました。このフォームは "ü"というレンダリングスペースを追加しません:)

あなたはこの問題の考えですか?

ありがとう、

+0

ロケールはどこに設定されていますか?カレンダーで? – Bozho

+0

返信ありがとうございました faces-config.xmlは以下のようなもので、エクスプローラの設定もTRです。他の設定はありません。 \t \t <ビュー・ハンドラ>のcom.sun.facelets.FaceletViewHandler \t \t org.springframework.web.jsf.el.SpringBeanFacesELResolver \t \t <ロケール-config> \t \t \t <デフォルトロケール> TR \t \t \t <サポート・ロケール> TR \t \t \t <サポート・ロケール>エン \t \t \t jiraiya

答えて

3

これはロケールに関連していませんが、HTMLエスケープに関連しています。それはHTMLでエスケープされていてはいけません。ウェブブラウザ(rightclick、ソースの表示)のHTMLソースを調べると、&amp;#252;と表示され、実際には&#252;がHTMLに表示される可能性があります。

月の名前の値の出所と表示方法が不明です。それらがRichFaces自体で作成され、RichFaces自体によってレンダリングされている場合は、それほど多くを行うことはできません。 RichFacesのバグである可能性があります。あなたは自分自身をJBossの人にtheir homepageに報告しなければなりません。

しかし、あなたがそれらの値を管理していると、彼らはJavaプロパティファイルとして保存され、および/またはJavaコードによって列に読み込まれている場合、あなたはUnicode Character 'LATIN SMALL LETTER U WITH DIAERESIS'のJavaエンコーディングである\u00fd&#252;を交換する必要があります。または、値の出力/レンダリングを制御できる場合は、escape="false"属性を出力コンポーネントに追加する必要があります。

+0

詳細な返信をありがとうございました。 Richfacesは月の名前をレンダリングするので、それらを操作する機会はありません。 HTMLをチェックすると、Richfaces.Calendar.addLocale()JavaScript関数が呼び出されていることがわかりました。関数のパラメータは月の名前です。それはまたüと書いてあります。一部の文字は\ u0131のようなJavaエンコーディングでコーディングされていますが、その一部はüのようにコーディングされています。あなたが正しいです、問題をJBossに報告する方が良いです。私はこのポストで問題の結果を共有します。再びありがとう、幸せな新年! – jiraiya

+0

ようこそ。 – BalusC