поддержка двуязычного фреймворка для приложений - PullRequest
1 голос
/ 18 февраля 2011

В настоящее время я работаю над двуязычным приложением (на английском и арабском языках) со структурой Struts.

В настоящее время мое приложение поддерживает символы английского языка.

Теперь я пытаюсь разместить и прочитать символы в кодировке UTF-8 на моих страницах JSP в среде Tomcat 6.

Итак, у меня есть базовые вещи, настроенные на всех моих страницах jsp и классе действий.

Я установил это в своем классе действий

            `request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("UTF-8");`

На моих страницах jsp: <%@page pageEncoding="UTF-8"%> <%@page language="java" contentType="text/html;charset=UTF-8"%>

Поэтому, когда я пытаюсь разместить арабские символы на своей странице jsp,он отображает ненужные символы.

Как мне исправить это?Что еще мне нужно сделать для поддержки арабских или китайских символов?

Кроме того, я использую базу данных для сохранения формы, как только пользователь заполняет приложение.Пользователь может использовать английский или арабский для заполнения формы.

Как мне этого добиться?

1 Ответ

2 голосов
/ 18 февраля 2011

Вам нужно сделать только две вещи, чтобы UTF-8 работал с формами POST.

Поместите это поверх JSP:

<%@ page pageEncoding="UTF-8" %>

Поместите это в Filterкоторый запускается до вашего класса действий.

request.setCharacterEncoding("UTF-8");

Выполнение этого в классе действий может быть уже слишком поздно.Он должен быть установлен до того, как вы или любая инфраструктура MVC соберет параметры запроса.

...