Я пытаюсь реализовать протокол покоя на сервере причала. У меня есть работающий сервер, и я могу получить к нему доступ с моего остального клиента. Мой проект на стороне сервера - это проект maven. У меня проблема с кодировкой символов. Когда я проверяю ответ, прежде чем отправить его с контроллера, проблем с кодировкой нет. Но после того, как я возвращаю ответ клиенту, я вижу поврежденные данные. Заголовок ответа — UTF-8. Также у меня есть слушатель для этой проблемы, и я настраиваю запрос и ответ на UTF-8. Я предполагаю, что проблема возникает, когда я пытаюсь записать свои данные ответа в ответ.
@GET
@Path("/")
@Produces({"application/xml;charset=UTF-8","application/json;charset=UTF-8"})
public String getPersons(@Context HttpServletRequest request, @Context HttpServletResponse response) {
List<Person> persons = personService.getPersons(testUserId, collectionOption, null);
if (persons == null) {
persons = new ArrayList<Person>();
}
String result = JsonUtil.listToJson(persons);
//result doesnt has any encoding problem at this line
response.setContentType("application/json");
response.setContentLength(result.length());
response.setCharacterEncoding("utf-8");
//i guess problem happen after this line
return result;
}
Есть ли для него какая-либо конфигурация причала или конфигурация отдыха? Или есть способ решить эту проблему? Спасибо за вашу помощь.