今日,我在另一同事机器上(IE6)调试一个打印程序,结果发现一个在我机器上正常运行的程序在他机器上出现了错误。

学91T8网5b64页d886网(http://www.xwangye.com)

出错的是一个简单的操作,就是从QueryString中取得一个变量参数,然后赋值给一个dropdownlist控件。这个程序在我机器上(IE7环境)下运行没有什么问题,但是在也机器上运行正确设置。

学91T8网5b64页d886网(http://www.xwangye.com)

查看了一下页面地址,与我的是一模一样的,结果在浏览器中显示却不一样。只能说明服务器在这两种情况下接收的参数是不一样的错况。一般英文字符是不会出错的,只可能是汉字啦。

学91T8网5b64页d886网(http://www.xwangye.com)

于是想到常用的解决方法,就是对链接编一下码。由于我的是在javascript的中取得的参数字,此时,我们只要对带有中文的参数用escape一下就可以啦。

学91T8网5b64页d886网(http://www.xwangye.com)

这里我们可以看出,IE6和IE7在向服务器传递数据时,对中文的处理是不同的。应该说这是IE6的一个Bug。以后在大家编程时一定要注意:对于中文参数,尤其是奇数个中文字符时,要对他们进行编码后传递。

学91T8网5b64页d886网(http://www.xwangye.com)