В моем приложении я использую Spring, JPA Hibernate, JSF . Проблема заключается в том, что я пишу арабский текст и нахожу его в управляемом компоненте Bean like (Ùاب!) Я использую 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">
Перед Head
<?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" />
Я использую @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();
}
Пожалуйста, любой намек взять правильный арабский текст. Спасибо заранее.
Это трудно понять ваши точные проблемы. Вы имеете в виду, что когда вы выполняете 'System.out.println (input)' внутри управляемого bean-компонента, то вы видите Mojibake вместо арабского в журнале сервера? Что делать, если вы проигнорируете этот шаг и просто продолжаете сохранять входные данные в базе данных, значит, он все еще Mojibake или это правильный арабский там в базе данных? – BalusC
Кстати, вам не нужно начинать каждое слово с капитала. Это затрудняет чтение вашего текста. Капитализация необходима только при начале предложений и для таких имен, как «JSF», «Hibernate» и т. Д. Попробуйте потратить немного больше времени на чтение английских статей и нахождение/выполнение тех же шаблонов. – BalusC
ok Я буду читать английские статьи: D –