不同编码间的值传递

来源:互联网 发布:arp -s linux 编辑:程序博客网 时间:2024/04/29 12:38
          在asp.net 中如果在Web.config中设置了不同的编码,传递表单值的时候可能会有问题。比如有一个工程A的a.aspx,编码是gb2312,通过表单的方式要提交给一个工程B的文件b.aspx(编码是utf-8),那么就应该做处理。
        A的表单值应该用Server.UrlPathEncode()进行编码,在b.aspx里面就用Server.UrlDecode()解码就可以得到正确的中文。
         我们在写入cookie的时候,如果想要在不同的编码之间使用中文的话可以考虑在写入cookie前用Server.UrlEncode()编码,读取的时候用户Server.UrlDecode()解码。这样应该可以避免取回得是乱码值得情况。
          总之,在不同编码的程序之间传递中文的时候可以考虑先把中文编码。也许问题就迎刃而解了。