公司一客户系统由多个在不同时期不断开发完善的,因此造成了目前该系统有asp和.net两种开发语言.
现在的首页是在用.net写的,首页里有一搜索框,当用户输入汉字时,需要将参数传递到搜索系统,这一搜索系统是用asp来写的.
这个实现起来还是很简单的,将参数做为url参数来传递,很容易就过去了,但是发现,当是汉字的时候,asp接收到的是乱码,在.net页面里将参数进行urlencode后,也不行.
经过分析,发现是编码造成的,.net里用的是utf-8编码,asp用的是gb2312编码,所以,在.net里向asp系统传递参数时,需要将参数做为gb2312来强制转码,这样asp才能正常接收.
关键代码如下:
HttpUtility.UrlEncode("这里是参数变量", System.Text.Encoding.GetEncoding("gb2312"));




问题集锦





此内容无附件