На моей странице 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>
Когда я отправляю, арабские символы отображаются правильно:

Вот название: د, это то, что я хочу.
Но в классе java, когда я пытаюсь отобразить имя, я получаю: ÙÙØ¯ В java:
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
...
String name = req.getParameter("name");
System.out.println("name: " + name);
...
}
Я не знаю почему, какие-нибудь предложения?
when I try to display the name ты имеешь ввиду System.out.println что ли? как сказал @DawoodibnKareem, проблема, вероятно, в java-коде, поэтому попробуйте добавить ее здесь
Вы должны размещать только соответствующий код.




Решение, которое я нашел, - добавить фильтр в 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>
Итак, проблема в коде Java, но вместо этого вы показали нам HTML и JSP. Если вам нужна помощь в поиске проблемы, лучше всего показать нам код проблемы имеет, а не код не.