簡體   English   中英

在JSF中使用國際化時遇到的問題

[英]Problems while using Internationalization in JSF

嘗試在JSF中實現國際化時遇到問題。 當我在UI頁面中輸入某些數據(使用英語以外的其他語言)時,該值作為加密值存儲在我的Managed Bean變量中(甚至無法確定該格式)。 在UI頁面中輸入值后,我無法獲取該值。 我需要在MySql數據庫中存儲不同語言的值(來自JSF頁面)。 但是如上所述,我正在努力獲取Managed Bean中的Input值。 請指導我這樣做。

提前致謝

加密? 你在開玩笑。 您最有可能實際上是指Mojibake

為了避免Mojibake,您需要確保在生成和使用字符時,在整個應用程序中使用相同的字符編碼。 如今,如果您想統治世界,那么UTF-8是理智的選擇。 JSF2一直一直默認為UTF-8。 因此,您的問題有些奇怪。

也許您實際上在使用PrimeFaces? 觸發ajax請求時,會破壞默認的UTF-8字符編碼。 在這里回答那部分,您需要創建一個servlet過濾器。

還是該值實際上是正確的,但是您正在將該值打印到完全不支持UTF-8的輸出中,因此您錯誤地確定了問題的原因? 例如,通過Eclipse控制台中的System.out.println() 您需要通過“ 窗口”>“首選項”>“常規”>“工作區”>“文本文件編碼”進行配置,如此處所述

或者,您可能通過<f:view encoding>顯式地將JSF2編碼強制更改為其他內容,例如ISO-8859-1 您不應該這樣做,請從<f:view>刪除encoding屬性並將其保留為默認值。

或者很可能您的MySQL數據庫/表編碼根本不是UTF-8,但這與您描述的問題症狀不符,或者您必須省略了實際打印從數據庫檢索到的值的部分,而不是從表單提交中檢索的值。

無論如何,您需要了解有關Java EE Web應用程序中字符編碼的所有信息,包括所有可能出現的問題和解決方案,並以Unicode進行了詳細說明-如何正確處理字符?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM