我正在使用XMLHttpRequest对我的服务器进行ajax调用。 假设我的电话是:
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);
在我的操作中,我在参数“value”中收到一个问号。 我已经使用URIEncoding = UTF-8正确配置tomcat,我也有一个Filter设置CharacterEncoding为UTF-8,在web.xml中我将页面编码设置为UTF-8。
我错过了什么?为什么我收到这个字符错了?。
编辑: 这只发生在IE中;在Safari或Firefox中,我按预期收到了ñ。有什么想法吗?
答案 0 :(得分:1)
您需要对请求中的参数进行编码。 试试这个:
var url = "http://app:8080/search.action?value=" + encodeURI('ñ')