wudi

博客园 首页 新随笔 联系 订阅 管理

使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode 函数编码的URL,与使用客户端javascript的encodeURI函数编码的URL,结果就不一样。
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用 encodeURI或者encodeURIComponent。

 

Javascript:

var str=escape("中文");//

var str=escape("中文");

C#

string str = System.Web.HttpUtility.UrlDecode(str, System.Text.Encoding.GetEncoding("gb2312")); 参数1:字符串;参数2:传递参数的页面的编码方式!

posted on 2010-01-21 12:13  菜鸟吴迪  阅读(1228)  评论(0)    收藏  举报