我的应用程序使用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)。
答案 0 :(得分:1)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
是问题,将其更改为UTF-8,现在工作正常。