html ajax charset,为什么POST不支持字符集,而支持AJAX请求呢?雄猫6

我有一个基于tomcat的应用程序,需要提交能够处理utf-8字符的表单。通过ajax提交时,数据会从utf-8中的getParameter()中正确返回。通过表单发布提交时,数据从iso-8859-1中的getParameter()返回。

我使用了提琴手,并且确定了请求中的 唯一 区别是 charset = utf-8 附加到了ajax调用中 Content-Type

标头的末尾(正如预期的那样,因为我明确地发送了内容类型)。

来自ajax的ContentType:“应用程序/ x-www-form-urlencoded; charset = utf-8”

格式的ContentType:“ application / x-www-form-urlencoded”

我有以下设置:

ajax post(正确输出字符):

$.ajax( {

type : "POST",

url : "blah",

async : false,

contentType: "application/x-www-form-urlencoded; charset=utf-8",

data : data,

success : function(data) {

}

});

表单发布(在iso中输出chars)

xml声明:

Doctype:

元标记:

jvm参数:

-Dfile.encoding=UTF-8

我也尝试过使用 request.setCharacterEncoding(“ UTF-8”);

但是似乎tomcat只是忽略了它。我没有使用RequestDumper阀。

根据我的阅读,POST数据编码主要取决于表单所在的页面编码。据我所知,我的页面已正确编码为utf-8。

此页面上的样本JSP可以正常工作。它仅使用 setCharacterEncoding(“ UTF-8”); 并回显您发布的数据。

http://wiki.apache.org/tomcat/FAQ/CharacterEncoding

综上所述,尽管页面位于utf-8,指定utf-8的表单参数,xml声明或其他任何内容,但是post请求不会将字符集发送为utf-8。我花了三天的大部分时间来解决这个问题,但我的想法已经用完了。谁能帮我?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值