首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

javascript的escape传中文,aspx解码不出中文解决方法

2011-12-30 
javascript的escape传中文,aspx解码不出中文在一个aspx页面里用javascript的escape通过url传带中文的地址,

javascript的escape传中文,aspx解码不出中文
在一个aspx页面里用javascript的escape通过url传带中文的地址,如:
url=escape(Data.aspx?series= "+series+ "&geocodes= "+geocodes);
其中series是0或1,而geocodes格式类似:“110000,北京;120000,天津”
当以上url构造好之后,用alert(url):Data.aspx%3Fseries%3D1%26geocodes%3D110000%252C%25u5137%25u4EAC%253B120000%252C%25u5929%25u6D25

Data.aspx的页面内容只有 <%@   Page   Language= "C# "   AutoEventWireup= "true "   CodeFile= "DataURL.aspx.cs "   Inherits= "FusionChart_DataURL "   %> 没有html等标签,
这个Data.aspx.cs的最后是输出xml(   Response.ContentType   =   "text/xml ";
                Response.Charset   =   "gb2312 ";)
但是在Data.aspx.cs里的pageload用Server.UrlDecode   (Request.QueryString[ "geocodes "])却得到 "110000,53174EAC;120000,59296D25 "
在webconfig里也添加了 <globalization   requestEncoding= "gb2312 "   responseEncoding= "gb2312 "/>

不知道怎么解析成“北京、天津”,着急ing!

[解决办法]
url=escape(Data.aspx?series= "+series+ "&geocodes= "+geocodes);


try
url=Data.aspx?series= "+series+ "&geocodes= "+escape(geocodes);
[解决办法]
url=escape(Data.aspx?series= "+series+ "&geocodes= "+geocodes);

========

会将路径查询串的 ? = 也 escape 了
[解决办法]

C# code
HttpUtility.UrlDecode(Request.QueryString[ "geocodes "],System.Text.Encoding.GetEncoding("gb2312或者其他的编码方式"))
[解决办法]
默认UrlDecode的话会采用utf-8来进行编码和解码,所以你需要在转换的时候制定具体的。

热点排行