首页  :: 新随笔  :: 订阅 订阅  :: 管理

单个页面Request编码方式的改变,无需改动Web.config~

Posted on 2007-11-07 14:38  礼拜一  阅读(2069)  评论(2编辑  收藏  举报
搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~

得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System.Text.UnicodeEncoding.GetEncoding("GB2312"))解~

依然是乱码~~

查找了半天,想到了WEBCONFIG里的公共编码,查看是用UTF-8搞的(requestEncoding="utf-8")~

估计问题在这里,于是暂时更改编码方式为gb2312,可以接收到正确的中文了~~

但是,这样会引发出别的页面的问题,因为除去这个以外的所有页面我都是用UTF-8搞的~

所以去找单个页面的编码方法~~

开始尝试用Response.ContentEncoding去给页面做到GB2312的编码,无效~~

觉得问题应该在接收上(requestEncoding)~~

直接做Request.ContentEncoding无效~~

GOOGLE。。。GOOGLE。。。。

得到一个方法~~

NameValueCollection RequestUrl = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("gb2312"));

这个可以改变单个页面的Request的编码方式~~然后直接用string message = RequestUrl["message"];获取文字即可~~