在我的應用程序中,我使用Spring,JPA Hibernate,JSF 問題是當我編寫阿拉伯語文本並在類似於(ÙابÙÙÙ) 中找到它時我使用Tomcat v 7.0 Server託管bean中的阿拉伯文字
的web.xml
<filter>
<filter-name>encoding-filter</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>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
形式是
<h:form dir="rtl" acceptcharset="UTF-8">
頭前
<?xml version="1.0" encoding="UTF-8"?>
In page of page。
<f:view locale="TR" encoding="UTF-8" contentType="text/html" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
我在託管bean @MangedBean
使用@Named
和@Component
都不對了。
MySQL數據庫很好我從中讀取阿拉伯文本正確。
在構造函數中,
HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpServletResponse res = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
try {
req.setCharacterEncoding("UTF-8");
res.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
請任何暗示採取有效的阿拉伯文字。 在此先感謝。
很難了解您的具體問題的問題。你的意思是,當你在託管bean內部執行'System.out.println(input)'時,你在服務器日誌中看到的是Mojibake而不是阿拉伯語?如果你忽略這一步驟,只是將輸入保存在數據庫中,那麼它是否仍然是Mojibake或者它是否適合在數據庫中使用阿拉伯語? – BalusC
順便說一下,你不需要用大寫字母來開始每一個單詞。它使你的文本更難閱讀。只有在句子開頭和「JSF」,「休眠」等名字時才需要大寫。嘗試花更多時間閱讀英文文章並查找/遵循相同的模式。 – BalusC
好的我會閱讀英文文章:D –