在一个 UTF-8 编码的页面中含有一个表单,此表单的 action 指向一个 GB2312 编码的页面。表单提交后目标页面无法正确处理传递来的参数,显示为乱码。
问题分析:
这是由于二者的编码不一致导致的,在 GB2312 的页面中无法正确处理表单中的 UTF-8 编码的字符。需要我们告诉服务器这些表单数据的编码是什么,这里就用到了 form 的一个属性 accept-charset ,设置为 accept-charset=”gbk”
即:
<form name="form1" action="pass.php" method="post" accept-charset="gbk"> …… </form>