JAVASCRIPT AND C#.NET2.0 之间的传参问题(静态页面,动态页面,传参数,编码,乱码)

这几天做一个html向动态页面传参数,再用动态页面传参数返回html页面,其中使用JAVASCRIPT来作为中间传递。

这里给天几天工作伤心的经验:

       首先是编码问题:C#中默认的格式为utf-8编码,文件的存储也是utf-8编码,然后我们一个同事把他做完的html页面传过来的时候,把编码给弄错了,每次一编译就是乱码,上网找了半天,解决了乱码的问题。用工作把所有的文件格式都换成utf-8的编码格式保存就OK。特别是JS也一定要这样。

       其次,问题又出现了,在传参的时候,传偶数个汉字没有问题,但是奇数个汉字就会出现不能解的乱码:代码如下:

                 JS方使用下面的解码方式:decodeURI(im);

                C#.NET方使用编码方式 :  Response.Charset = "UTF-8";(很重要,因为我试过多次,如果在本地调试的时候,Response不会有问题。但一旦传到虚拟空间Response会把带有中文的编码方式直接转成GB2312的编码。)                        Response.Write ("<script>window.location.href='1/?im="+Server.HtmlEncode(str)+"';</script>");

               但这样还是没有能解决问题,我就要网络上继续找:找到一个帖子:http://topic.csdn.net/t/20050620/10/4093405.html

               原来是虚拟主机的问题。哎,我郁闷啊:  IIS5不支持中文文件名的解决办法   
                                                                                     修改服务器注册表  
                                    [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/InetInfo/Parameters]   
                                     "FavorDBCS"=dword:00000001     
                                    将“FavorDBCS”的值改为“0”  

 

              不知道有没有哪位有更好的解决办法?

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值