搞一个东西,从别人的接口接一段中文,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。。。。
得到一个方法~~
这个可以改变单个页面的Request的编码方式~~然后直接用string message = RequestUrl["message"];获取文字即可~~
得到对方的编码方式是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"];获取文字即可~~