window phone 解决GB2312汉字乱码问题

2025-07-05 13:14:27

模拟登陆网站,返回状漤逗庞俄态值。但是如果状态值里面如果有汉字, 就会是乱码。

经过Fid颊俄岿髭dler发现,网站返回的charset 为GB2312。

那么,我需要在接受的时候,使用GB2312编码。但是 WP 本身并没有GB2312编码

那么可以通过第三方的GetDBCSEncoding 进行GB2312编码的转换。

我已经共享了这个文件夹。在百度云盘。

http://pan.baidu.com/s/1pJnvcZT

【有一个 cs文件,两个Bin文件。都不要修改名称】

结构如图所示:

window phone 解决GB2312汉字乱码问题

首先打开你的 VS 2010 你的WP项目文件。新建一个文件夹。名称为gb2312

然后 在 文件中--->添加--->现有项。将如上3个文件放入文件夹中

window phone 解决GB2312汉字乱码问题

然后 设置 2个bin文件的属性

window phone 解决GB2312汉字乱码问题

【生成操作为 嵌入的资源。如图所示】

window phone 解决GB2312汉字乱码问题

对于DBCSEncoding.cs

设置其属性为编译。

window phone 解决GB2312汉字乱码问题

-----------------------------

至此,准备过程结束。

开始进行直接调用了。

通过DBCSCodePage.DBCSEncoding.GetDBCSEncoding("gb2312")

发挥GB2312的编码

【(注意:gb2312要和你的文件夹目录里面的gb2312.bin 大小写一致)】

下面是一段代码:在 response读取来自网络的数据时,进行GB2312编码

HttpWebResponse res = req1.EndGetResponse(ar) as HttpWebResponse;

Stream stream = res.GetResponseStream();

StreamReader reader = new StreamReader(stream, DBCSCodePage.DBCSEncoding.GetDBCSEncoding("gb2312"));

string backstr = reader.ReadToEnd();

stream.Close();

reader.Close();

res.Close();

那么才输出 backstr之后,发现汉字已经编码了,可以正常显示了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢