На первом я понятия не имею.Однако я сделаю ставку на UTF-8
, поскольку Javadoc везде упоминает UTF-8
.Вы можете отладить тело запроса с помощью средства отладки HTTP, такого как Fiddler2.Вы можете проверить строки со специальными символами UTF-8, которые преобразуются в байтовый массив на string.getBytes("UTF-8")
, а затем прочитать его на стороне сервлета.Если он возвращает те же символы, то вероятность того, что он использует UTF-8, определенно велика.
Для второго, который зависит от атрибута charset
в заголовке запроса Content-Type
.Это, однако, более чем часто отсутствует (по крайней мере, когда используется обычный веб-браузер).Однако вы можете установить его самостоятельно с помощью ServletRequest#setCharacterEncoding()
до того, как получит доступ к любым данным из тела запроса.
if (request.getCharacterEncoding() == null) {
request.setCharacterEncoding("UTF-8");
}
В противном случае будет использоваться платформа по умолчанию,как указано Charset#defaultCharset()
.