Url中文参数传递乱码,表单提交中文乱码,2种解决方法

经常被中文乱码困扰,试了n多办法,最后总结:

1、如果是url参数传递的中文,传递之前要先编码,接收的时候解码,如:

url参数由html或aspx提交到aspx页面,中文需要用js的函数 var key=escape(value) 先编码,然后在aspx页面用Server.HtmlDecode(Request.Form["key"]);

 

2、如果是表单提交,请检查两个提交页面的编码是否一致,普遍来说是因为编码不一致导致的,比如 utf-8 提交到 gb2312 页面

重点来了,上面那句话说的跟很多网上的答案一样,纯属屁话!!!!

类似什么设置 <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312... ,这种的方法是不可取,会影响到其他程序,

还有类似修改里面的文档说明:<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />,这种的方法也不能解决问题,

正确方法是,到文件的文件夹里面,用txt记事本打开页面,然后另存为,另存为的时候注意选择编码都要是utf-8,不要选择Unicode或ANSI,

提交页面和接收页面都同样编码就不会出现中文乱码问题。

 

posted on 2012-07-29 15:32  砖头  阅读(1330)  评论(0编辑  收藏  举报

导航