Пружинный перехватчик загрузки, перехватывает проблему возврата китайских искаженных символов - PullRequest
4 голосов
/ 29 мая 2020

Перехватчик загрузки Spring, перехватывает проблему возврата китайских искаженных символов.

Структура кода, как показано

enter image description here

код отображается как ниже

demoFilter

public class demoFilter extends GenericFilterBean {

  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;

    response.getWriter().write("您好");
    return;

  }
}

FilterConfig

@Configuration
public class FilterConfig {

  @Bean
  public FilterRegistrationBean jwtFilter() {
    final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
    registrationBean.setFilter(new demoFilter());
    registrationBean.addUrlPatterns("/*");
    return registrationBean;
  }

}

контроллер

@RestController
public class Demo {

  @RequestMapping(value = "demo", method = RequestMethod.GET)
  public String getStr(HttpServletRequest request, HttpServletResponse response) {
    return "demo";
  }
}

SpringApplication

@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }
}

Начало проекта, визит http://localhost: 8080 / демонстрация

Фактическая доходность: ??

Ожидаемая доходность: 您好

enter image description here

Я добавил в application.properties следующую конфигурацию :

spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

Доступ к браузеру, возврат:

enter image description here

Почтальон посещает и возвращает правильные результаты.

enter image description here

Я хотел бы спросить, как идеально решить эту проблему, чтобы браузер возвращал правильные Китайский.

1 Ответ

0 голосов
/ 31 мая 2020

Решена, и для решения проблемы добавлен следующий код:

response.setContentType("text/html;charset=UTF-8");

enter image description here

enter image description here

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