Арабские символы из jsp в java

На моей странице jsp у меня есть этот код:

<%@ page language = "java" contentType = "text/html; charset=UTF-8"
pageEncoding = "UTF-8"%>

<head>
 <meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8">
 // ... css + js
</head>
<body>

<%  request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");%>
<form action = "AddPerson" name = "addPerson"
        accept-charset = "UTF-8" method = "post">

...
</form>
</body>

Когда я отправляю, арабские символы отображаются правильно: Арабские символы из jsp в java

Вот название: د, это то, что я хочу.

Но в классе java, когда я пытаюсь отобразить имя, я получаю: ÙÙØ¯ В java:

public void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
...
String name = req.getParameter("name");
System.out.println("name: " + name);
...
}

Я не знаю почему, какие-нибудь предложения?

Итак, проблема в коде Java, но вместо этого вы показали нам HTML и JSP. Если вам нужна помощь в поиске проблемы, лучше всего показать нам код проблемы имеет, а не код не.

Dawood ibn Kareem 13.03.2018 12:31
when I try to display the name ты имеешь ввиду System.out.println что ли? как сказал @DawoodibnKareem, проблема, вероятно, в java-коде, поэтому попробуйте добавить ее здесь
Piro says Reinstate Monica 13.03.2018 12:32

Вы должны размещать только соответствующий код.

Roman C 13.03.2018 13:23
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решение, которое я нашел, - добавить фильтр в web.xml.

<filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Другие вопросы по теме