Кодировка символов параметра запроса GETJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Кодировка символов параметра запроса GET

Сообщение Anonymous »

Привет, друзья Stackoverflowers.

У меня возникла проблема, с которой мне нужна помощь:

Мы выполняем вызов веб-службы http GET из приложения для смартфона в приложение Java/Spring MVC. Мы находимся на сервере приложений Tomcat, перед которым находится сервер Apache с настройкой прокси-сервера mod_proxy.

Одним из параметров, встроенных в URL-адрес, является слово «Männen», которое является названием организации, которое является одним из параметров. Приложение выполняет запрос Jquery Ajax GET, и параметр оставляет приложение как «M%E4nnen», что, насколько я понимаю, означает, что «ä» правильно закодирован в URL-адресе. Когда он поступает на контроллер Spring, он искажается до «Männen».

Я погуглил и нашел довольно много тем по этому поводу, и все они рекомендуют изменить файл Tomcat server.xml, добавив URIEncoding="UTF-8" ко всем соединителям. Конечно, я попробовал это. Это внесло изменения, но не решило проблему. Строка теперь звучит как «M�nnen». Также была тема, в которой предлагалось добавить «nocanon» к параметру ProxyPass в конфигурации прокси-сервера Apache. Это было опробовано, но безрезультатно.

Используя журналы, я могу выполнить запрос:
  • В журнале доступа Apache параметр регистрируется как «M%E4nnen»
  • В журнале прокси-сервера Apache параметр регистрируется как «M%E4nnen»
  • В журнале Tomcat localhost_access параметр регистрируется как «M%E4nnen»
  • В контроллере Spring, который получает запрос, параметр регистрируется как «M�nnen»
Мое приложение Spring также имеет фильтр кодировки символов, но, насколько я понимаю, он работает только с телом запроса. Он настроен, как показано ниже:

Код: Выделить всё

CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true



CharacterEncodingFilter
/*

Я действительно не знаю, что еще попробовать и где еще поискать. Если бы кто-нибудь мог направить меня в правильном направлении, я был бы очень признателен.


Подробнее здесь: https://stackoverflow.com/questions/186 ... -parameter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»