form表单提交参数乱码(post表单提交也会乱码)(1)

在某些情况下,我们的form需要提交到不是自己的web服务地址,如果对端的编码格式和自己的编码格式不一样,提交过去的中文就会出现乱码,应该怎么处理呢?

这个时候,需要告诉浏览器,我们的数据应该按照对端要求的编码格式进行数据封装。换句话说,需要在客户端(浏览器)设置编码格式。

javascript表单提交模式

Js代码

var postform = document.getElementById('postform');

if (document.charset) {

document.charset = 'gbk'; //设置提交的编码为gbk IE不能识别form.accept-charset

} else {

//设置编码gbk,不能够解析 document.charset的浏览器,用form.accept- charset参数

postform.setAttribute('accept-charset', 'gbk');

}

postform.submit();

当然也可以在form表单上直接设置编码属性

Html代码

<form action="xxx" method="post" accept-charset="gbk" _charset="gbk">

</form>

_charset属性特别针对IE浏览器,但是这个我在实际操作中好像没起作用,你们可以试试。

,