none
关于asp.net 页面参数 编码问题! RRS feed

  • 问题

  •   一项目中,交易系统使用了utf-8  编码,客户端可能为gb2312,由于不能改动现有的客户端程序编码,所以出现了此问题。

    在URL传参的时候
    System.Collections.Specialized.NameValueCollection nv
    = System.Web.HttpUtility.ParseQueryString(Request.Url.Query, System.Text.Encoding.GetEncoding("GB2312"));//这样便以GB2312编码格式进行解码

    但客户端是Form  Post过来,所以不能使用此方法!  只能修改服务端,以适应客户端! 客户端传递的汉字之类的,没有使用 EnCode之类的编码过! 请教这种情况,如何处理客户端传递过来的 中文及其他信息!由于服务端web.config 内定义的globalization 必须为UTF-8,所以只能在程序中 动态指定获取的编码格式!

    使用Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

    Request.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");之类的无效。。。请教该如何处理!

    2010年4月7日 12:51

答案

  • 服务器端和客户端采用不同的编码,即便你提出的问题能解决,但是从服务器端发到客户端的数据是utf-8编码的,怎么能用gb2312去解码呢
    .NET liucy
    2010年4月7日 15:01
  • 采用utf-8就可以了。浏览器一般是自动检测编码的,如果客户端浏览器非要强制使用某种编码,你怎么做都是不行的。
    【孟子E章】
    2010年4月8日 1:46
    版主

全部回复

  • 服务器端和客户端采用不同的编码,即便你提出的问题能解决,但是从服务器端发到客户端的数据是utf-8编码的,怎么能用gb2312去解码呢
    .NET liucy
    2010年4月7日 15:01
  • 采用utf-8就可以了。浏览器一般是自动检测编码的,如果客户端浏览器非要强制使用某种编码,你怎么做都是不行的。
    【孟子E章】
    2010年4月8日 1:46
    版主