Русские персонажи появляются как ??? весной-MVC - PullRequest
0 голосов
/ 07 марта 2019

Итак, я создал контроллер

@Controller
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping("/all")
    @ResponseBody
    public String display()
    {
        return "Мегафон Игры";  //russian characters
    }   
}

Теперь, когда я нажму на ссылку http://localhost:8080/SpringMVC/hello/all Я получаю ??????? ???? в ответ.

Я настроил URIEncoding в файле server.xml tomcat что-то вроде этого

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>` 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

Я проверил свой ответ на браузере Chrome, почтальоне и консоли затмения.

Я даже пытался добавить кодировку-фильтр в файл 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>FALSE</param-value>
    </init-param>
 </filter>
 <filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>

Пожалуйста, помогите мне, что мне не хватает?

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Возможно, вам нужно определить кодировку тела ответа.
Для этого вы можете использовать аннотацию @RequestMapping, например,

@RequestMapping(
     value = "/all", 
     method = RequestMethod.GET,
     produces = MediaType.APPLICATION_JSON_UTF8_VALUE
)
0 голосов
/ 07 марта 2019

Определяли ли вы исходную кодировку при создании проекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...