Я отправляю UTF-8, японский текст, к моему серверу. Это работает в Firefox. Мой access.log и заголовки:
/ajax/?q=%E6%BC%A2%E5%AD%97
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Howeer, в IE8, в моем access.log говорится:
/ajax/?q=??
По некоторым причинам IE8 поворачивается, мой Ajax подвергают сомнению метки. Почему!? Я добавил scriptCharset и ContentType согласно некоторым учебным руководствам, но все еще никакую удачу.
И это - мой код:
$.ajax({
method:"get",
url:"/ajax/",
scriptCharset: "utf-8" ,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
data:"q="+query ...,
...
})
Попробуйте закодировать параметр запроса с помощью encodeURIComponent ()
data:"q="+encodeURIComponent( query )
, как очень правильно заметил Бобинс в своем комментарии, если вы используете нотацию объекта для передачи параметры к методу ajax он сам будет обрабатывать кодировку ..
поэтому
data:{ q : query }
заставит jQuery обрабатывать кодировку ..