У меня проблемы с получением ответа в правильной кодировке, и я перепробовал все, что нашел в net.
MySQL База данных находится в сопоставлении utf8mb4_croatian_ci.
Пример записей базы данных:
Abadžić Stanko
Ač Nataša
Adamović Dubravko
Adrić Marija
Here is my controller:
Это мой контроллер покоя:
@RestController
public class AutorController {
@Autowired
private AutorService autorService;
@GetMapping(value = "/autori", produces = "application/json;charset=UTF-8")
public List<Autor> getAllAutors() {
return autorService.getAllAutors();
}
}
application.properties, где я пытался настроить кодировку для tomcat:
server.tomcat.uri-encoding = UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.datasource.sql-script-encoding=UTF-8
spring.messages.encoding=UTF-8
spring.datasource.tomcat.connection-properties=useUnicode=true;characterEncoding=utf-8;
This это ответ, который я получаю:
"id": 2,
"imeAutora": "Abadžić Stanko"
},
{
"id": 3,
"imeAutora": "A� Nataša"
},
{
"id": 4,
"imeAutora": "Adamović Dubravko"
},
{
"id": 5,
"imeAutora": "Adrić Marija"
}
PS Также, когда я меняю кодировку в контроллере на ISO-8859-2 (также должен поддерживать хорватский язык):
@GetMapping(value = "/autori", produces = "application/json;charset=ISO-8859-2")
мой ответ похож на :
"id": 2,
"imeAutora": "AbadŞiÄ‥ Stanko"
, что означает, что установка charset в @GetMapping что-то делает, но делает это неправильно
Если у вас есть идеи, пожалуйста, дайте мне знать.