ASP.net接收Request.Form传递的值乱码问题

曾经涉及到用url传递汉字总少一个字,后来得知是utf-8编码的问题,最好通过server.urlencode后再传递。

这次遇到aspx页面接收html页面里的一个input值,通过request.form["test"]得到的是乱码。考虑可能同样是编码问题,首先想把传递过来的值由utf-8转换为gb2312,于是写了个转换函数:

不知是函数不对,还是没有对症,转换后的值仍为乱码(就是一堆问号)。

       //content是要转编码的内容,sourceCode是原来的编码名称,targetCode是要转换成的编码名称

       public static string StrConvCode(string content,string sourcCode,string targetCode)
        {
            Encoding source =Encoding.GetEncoding(sourcCode);
            Encoding target = Encoding.GetEncoding(targetCode);
            byte[] bSource= source.GetBytes(content);
            byte[] bTarget = Encoding.Convert(source, target, bSource);
            return target.GetString(bTarget);
        }

再一次查询,后来偶尔发现在vs2003里web.config里有<globalization responseEncoding="gb2312" requestEncoding="gb2312"/>,考过来,ok好用了。在网上看到有的在globalization 里写的更多,但我用的时候会产生页面乱码,但传过来的值是正确的情况。

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值