Неанглийская строка в весенней загрузке - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь создать такую ​​строку в Spring Boot:

   model.setBody("Bạn đã nhận được một báo cáo mới");

но когда я использую

model.getBody().toString()

Я получил странную строку вроде этого:

B? N? Ã nh? N ??? c m? T báo cáo m? I

Я опробовал его на Java-приложении, и он сработал. Я провел некоторое исследование в Google, чтобы установить utf-8 и более, но это все равно не помогло. Кто-нибудь знает, почему он так странно себя ведет? P / s: я использую

spring_boot_version = 1.5.8.RELEASE

Я использую Gradle

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Существует несколько способов установить кодировку для приложения.

Один из способов задается ниже свойств в application.properties в приложении с весенней загрузкой.

spring.http.encoding.charset=UTF-8 # the encoding of HTTP requests/responses
spring.http.encoding.enabled=true # enable http encoding support
spring.http.encoding.force=true # force the configured encoding

Для других способов см. эта тема

0 голосов
/ 19 марта 2019

Вам нужно Spring's CharacterEncodingFilter в вашем 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> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...