Я пытаюсь создать такую строку в 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
я использую градиент




Вам нужно 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>
Есть несколько способов установить кодировку для приложения.
Один из способов задается ниже свойств в application.properties в приложении spring-boot.
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
Другие способы см. в разделе эта тема.
Вы должны установить кодировку.