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,
提交页面和接收页面都同样编码就不会出现中文乱码问题。