Приложение Spring boot 2.1 / java 11 не распознает акцентированные символы после перехода с Spring boot 2.0.5 / java 8 - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть веб-приложение Spring boot, которое отлично работало на java 8 и Spring boot 2.0.5.Теперь, когда я захожу на любую страницу и пытаюсь ввести данные, например, с символом É, этот символ сохраняется как?в базе данных и, очевидно, восстановлен как таковой.Я изменил код 0 помимо добавления зависимости javax.json.bind-api, которая больше не встроена в JRE.Существует ли какое-либо глобальное свойство кодировки символов, которое необходимо изменить для правильного распознавания нестандартных символов?

РЕДАКТИРОВАТЬ

Этосоответствующий бит моей страницы JSP:

<form:form method="POST" modelAttribute="medClass" class="form-style-7">
    <form:input path="name" id="name"/>
</form:form>

Код контроллера:

@RequestMapping(value = {"/newMedClass"}, method = RequestMethod.POST)
public String saveMedClass(@Valid MedClass medClass, BindingResult result, ModelMap model) 
{
    boolean hasCustomErrors = validate(result, medClass);
    if ((hasCustomErrors) || (result.hasErrors()))
    {
        setPermissions(model);

        return "medClassDataAccess";
    }
    medClassService.save(medClass);
    session.setAttribute("successMessage", "Successfully added med class \"" + medClass.getName() + "\"!");
    return "redirect:/medClasses/list";
}

При вводе ÉÉÉÉ в качестве имени для этой сущности (да, это строка), сущность входит вконтроллер с ????уже и поэтому сохраняется как таковой.

РЕДАКТИРОВАТЬ

У меня есть эта строка вверху каждой JSP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

Это нужно изменить?

Спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

Изменение кодировки JSP на UTF-8 исправило это. Как это работало до сих пор, остается загадкой ...

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...