javascript转义,encodeURI和encodeURIComponent的问题

时间:2011-06-30 15:00:31

标签: javascript ajax escaping

我的应用程序使用ajax POST请求将数据从javascript发送到我的servlet,并且该数据也包含特殊字符。我在对数据执行javascript escape()后发送此数据,因为我的内容也可以包含网址。

问题是我的servlet端没有得到正确的数据,我怀疑escape正在创建问题。

我尝试使用我的javascript代码:

alert(escape("»"));
alert(unescape(escape("»")));

alert(encodeURI("»"));
alert(decodeURI(encodeURI("»")));

alert(encodeURIComponent("»"));
alert(decodeURIComponent(encodeURIComponent("»")));

当我无法转义转义字符串时,我没有得到正确的警告。正如代码所示,我也尝试过使用encodeURI,encodeURIComponent及其各自的解码方法。

我应该如何从javascript发送数据,以便正确接收所有特殊字符和内容的其他部分(如URL)。

1 个答案:

答案 0 :(得分:1)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

是问题,将其更改为UTF-8,现在工作正常。