2015-10-21 2 views
1

Я использую XMLHttpRequest для вызова ajax на свой сервер. Предположим, мой вызов является:Проблема с кодировкой Java с XMLHttpRequest

http = new XMLHTTPRequest(); 
var url = "http://app:8080/search.action?value=ñ" 
http.open("GET",url,true); 
http.setRequestHeader("Content-type", "application/x-wwww-form-urlencoded;charset-UTF-8"); 
http.send(null); 

В моем действии я получаю в параметре «значение» символ вопроса. Я правильно настроил tomcat с URIEncoding = UTF-8, также у меня есть настройка фильтра CharacterEncoding для UTF-8 и в web.xml. Я установил кодировку страницы в UTF-8.

Что мне не хватает? почему я получаю эти символы неправильно ?.

EDIT: Это происходит только в IE; в Safari или Firefox я получаю - как и ожидалось. Есть идеи?

ответ

1

Вам необходимо закодировать параметры в запросе. Попробуйте это:

var url = "http://app:8080/search.action?value=" + encodeURI('ñ') 
+0

Да, вот работает, но мне нужно другое решение, потому что приложение очень большое, мне нужно сделать это в более чем 1000 звонков. – Keetah

+0

EncodingURIComponent - это единственный способ получить - правильно? – Keetah

+0

Я не думаю, что есть другой способ – Giovanni

Смежные вопросы