您的位置:首页 > 产品设计 > UI/UE

Querystring中传递中文出现乱码,丢失的解决方法

2007-08-16 17:41 477 查看
有时我们会通过QueryString来传参(就是在url中传参),但是你会发现,汉字会出现乱码或者最后一个汉字会不知所以的丢失。在网上查找,主要有以下2种解决方法:



1 在asp.net中可以用Server.UrlEncode(参数)将参数加密,然后在QueryString传递,在接受端跟平常一样将参数接受下来,然后用Server.UrlDecode(参数)将参数解密,就OK了。在javascript中可以用encodeurl和decodeurl来加解密。

写Url的时候使用Server.UrlEncode方法
如你的Url:
http://'..../test.aspx?nf=2003&bmmc=代数
改成:
http://'..../test.aspx?nf=2003&bmmc='<%# Server.UrlEncode("代数") %>'

然后在使用参数的网页加入:
Request.QueryString("nf")
Server.UrlDecode(Request.QueryString("bmmc"))

就行了,我就用这个方法传递中文的,字数仅仅受Url的长度限制。





2. 在Web Config中添加下列:<globalization requestEncoding="gb2312" responseEncoding="gb2312" />

<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: