在某些情况下,我们的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浏览器,但是这个我在实际操作中好像没起作用,你们可以试试。