Web开发中慎用直接在递交请求的action里直接设置中文参数

来源:互联网 发布:java divide用法 编辑:程序博客网 时间:2024/05/17 08:53

我们在html脚本里递交服务器请求时可以直接如下方式:

location.href="abc.jsp?name=妈咪";

也可以是在<form action="abc.jsp?name=妈咪" >然后submit该form

今天新发现这种方式存在的一个新隐患:

在IE中以上方式的递交请求,自动采用了操作系统的默认字符编码,而不是当前网页指定的网页字符编码;而在firefox中以上方式的递交请求,使用的是当前网页指定的网页字符编码,而不是操作系统的默认字符编码。这里的隐患则是,如果网页指定的字符编码与操作系统默认字符编码不一致时,网页通过这2种浏览器向服务器递交请求时的字符编码就不一致了,服务器在处理上就麻烦了。所以建议将含中文的参数放在表单的内容里,统一通过网页字符编码递交请求。如上面例子可改为

<form action="abc.jsp"><input type=hidden name='name' value='妈咪' /></form>

 

原创粉丝点击