Кстати, вам нужно установить кодировку модуля записи ответов . Имея только заголовок ответа, вы в основном только указываете клиентскому приложению, какую кодировку использовать для интерпретации / отображения страницы. Это не сработает, если сам ответ написан с другой кодировкой.
Контекст, в котором вы столкнулись с этой проблемой, совершенно неясен (пожалуйста, уточните об этом и в будущих проблемах, подобных этой), поэтому здесь есть несколько решений:
Если это JSP, вам нужно установить следующее в верхней части JSP, чтобы установить кодировку ответа:
<%@ page pageEncoding="WIN-1255" %>
Если это Servlet, вам нужно установить следующее перед любым первым сбросом, чтобы установить кодировку ответа:
response.setCharacterEncoding("WIN-1255");
Между прочим, оба автоматически устанавливают заголовок ответа Content-Type
с параметром charset
, чтобы дать клиенту команду использовать ту же кодировку для интерпретации / отображения страницы. Также см. эту статью для получения дополнительной информации.
Если это доморощенное приложение, которое использует базовые API java.net
и / или java.io
, то вам нужно написать символы через OutputStreamWriter
, который построен с использованием конструктора, принимающего 2 аргумента где можно указать кодировку:
Writer writer = new OutputStreamWriter(someOutputStream, "WIN-1255");