Сервлеты - Можем ли мы изменить кодировку символов после установки по умолчанию - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть фильтр, в котором я сначала выбираю параметр запроса, а затем устанавливаю кодировку символов

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
    final HttpServletRequest request = (HttpServletRequest) servletRequest;
    final HttpServletResponse response = (HttpServletResponse) servletResponse;
    final String name = request.getParameter("name");
    request.setCharacterEncoding("UTF-8");

Это не работает. Как объяснено в request.getCharacterEncoding () возвращает NULL ... почему? что если мы не установим кодировку, будет установлено значение по умолчанию.

Можем ли мы изменить кодировку после установки по умолчанию? Если нет, то какова точная причина

1 Ответ

0 голосов
/ 26 апреля 2018

Попробуйте, как это

request.setCharacterEncoding("UTF-8");
final String name = request.getParameter("name");

Можем ли мы изменить кодировку после установки по умолчанию?Если нет, то какова точная причина

Да, мы можем.Но вы должны быть уверены, что настройка кодировки выполняется ДО чтение параметров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...