我现在有更好的解决方案。发布和获取作品都非常完美。
我正在处理 tomcat,默认情况下它处理 ISO 8859 的东西。
网页属性:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
head 内网页的字符集。
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
现在,我所有的参数都用转义函数转义了,IS之前提供了这个解决方案。
(function($) {$.fn.escape = function() {
return escape(this.val());};})(jQuery);
现在,当发送 ajax 请求时,我将 contentType 设置为:
contentType : "application/x-www-form-urlencoded; charset=iso-8859-1"
最后,当在 servlet 或任何接收器接收参数时,我使用它得到一个解码后的参数。
public String getHttpParameter(String name) throws Exception {
String value = this.getHttpRequest().getParameter(name);
return value == null || value.isEmpty() ? value : URLDecoder.decode(value,"ISO-8859-1");
}
POST 和 GET 在 IE 7 和 8、SAFARI、CHROME 和 FIREFOX 中完美运行。