Мы думаем, что кодировка символов, используемая для создания этого символа, - windows-1252.
Да, очень вероятно. Даже когда браузеры утверждают, что используют iso-8559-1, они обычно используют windows-1252.
По умолчанию для http-запросов символьная кодировка Glassfish по умолчанию соответствует ISO-8859-1
Скорее всего, по умолчанию используется стандартная кодировка Java вашей системы. Это редко то, что вы хотите, так как это делает ваше приложение разрывается при повторном его развертывании.
Для чтения тел запросов POST вы должны иметь возможность исправить кодировку, вызвав setCharacterEncoding для объекта запроса, если вы можете сделать это достаточно рано, чтобы никто не заставил его читать тело, вызывая такие методы, как getParameter. Попробуйте установить кодировку «Cp1252». Хотя на самом деле вы должны стремиться к UTF-8 для всего в долгосрочной перспективе.
К сожалению, не существует стандартного способа J2EE для указания того, какую кодировку ожидает ваше приложение для всех запросов (включая параметры строки запроса, на которые setCharacterEncoding не влияет). У каждого сервера свой путь, который создает раздражающие проблемы развертывания. Но для Glassfish, установите <parameter-encoding>
в вашем sun-web.xml.