托管bean中的阿拉伯语文本

时间:2015-11-02 09:38:37

标签: spring hibernate jsf arabic

在我的应用程序中,我使用Spring,JPA Hibernate,JSF 问题是当我写一个阿拉伯语文本并在manged Bean中找到它时(ÙابÙÙÙ) 我使用Tomcat v 7.0 Server

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"?>

在页首。

<f:view locale="TR" encoding="UTF-8" contentType="text/html" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />

我在托管bean @Named中使用@MangedBean,而@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();
}

请提示您使用有效的阿拉伯文字。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我在使用tomcat编码过滤器

时解决了这个问题
<filter>
    <filter-name>SetCharacterEncoding</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>
    <init-param>
        <param-name>ignore</param-name>
        <param-value>false</param-value>
    </init-param>
</filter>
<filter>
    <filter-name>Conversation</filter-name>
    <filter-class>org.jboss.weld.servlet.ConversationFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SetCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>Conversation</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>