Во-первых, недостаточно взглянуть на адресную строку, чтобы диагностировать это. Некоторые браузеры отображают одну вещь (не закодированную) в адресной строке, но отправляют что-то другое (закодированное) в запросе HTTP. Чтобы быть абсолютно уверенным в том, что отправляется на сервер, просмотрите фактический запрос по проводам , используя FireBug или эквивалентный.
Кроме того, помните, что процентное кодирование зависит от кодировки. То есть процентное кодирование с использованием UTF-8 отличается от процентного кодирования с использованием iso-8859-1.
Когда браузеры делают запросы, они, как правило, используют кодировку текущей страницы для кодирования ответа. Это верно для многочастной отправки формы и т. Д. Если вам не удалось указать кодировку страницы с помощью тега привязки, браузер определит кодировку (часто iso-8859-1). В вашем случае Firefox, похоже, выбрал iso-8859-1 (или UTF-16), в то время как Chrome выбрал UTF-8.
Смотрите подробности of char здесь: http://www.fileformat.info/info/unicode/char/d4/index.htm
Кроме того, похоже, что вы указываете кодировку UTF-8 в качестве параметра в своем запросе.
Я бы предложил изменить ваш JSP, чтобы обеспечить:
- Содержимое на странице с тегом привязки кодируется как UTF-8.
- Вы отправляете соответствующий заголовок Content-Type (и / или метатег), чтобы браузер знал, что страница имеет формат UTF-8.