关于编码的 form 标签的属性
- accept-charset:可以指定form编码形式
- enctype: 规定在发送表单数据之前如何对其进行编码。有三种设置类型
- 默认为application/x-www-form-urlencoded:发送前编码所有字符
- multipart/form-data:不对字符编码,包含文件上传控件的表单时,必须使用该值
- text/plain:空格转换为 "+" 加号,但不对特殊字符编码。
- method:规定用于发送 form-data 的 HTTP 方法。有 post 和 get
post提交
这里我们使用编码为UTF-8的页面做提交
<form action="/example/demo_form" method="post">
name: <input type="text" name="fname" /><br />
<input type="submit" value="提交" />
</form>
提交后为http的内容为
fname=%E5%A5%BD
如果指定 accept-charset 为GBK
<form action="/example/demo_form" method="post" accept-charset="GBK">
name: <input type="text" name="fname" /><br />
<input type="submit" value="提交" />
</form>
提交的内容为
fname=%BA%C3
get 提交方式
同样适用UTF-8页面编码提交数据
<form action="/example/demo_form" method="get">
name: <input type="text" name="fname" /><br />
<input type="submit" value="提交" />
</form>
由于是get形式提交,参数会在请求的url上展示
example/demo_form?fname=%E5%A5%BD
如果指定 accept-charset 为 GBK
<form action="/example/html5/demo_form.asp" method="get" accept-charset="GBK">
name: <input type="text" name="fname" /><br />
<input type="submit" value="提交" />
</form>
在提交的url后面的参数编码变为了
example/demo_form?fname=%E5%A5%BD