C# GB2312 转 UTF-8
wtoeb 2007-12-21 12:35:19 如何把GB2312转为UTF-8的问题,如果全部是中文,可以实现正常转换,但是如果其中有数字或字母,那就会存在乱码。
我的代码如下:
System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312");
System.Text.Encoding UTF8 = System.Text.Encoding.UTF8;
msg = GB2312.GetString(System.Text.Encoding.Convert(GB2312,UTF8,GB2312.GetBytes(str)));
出错信息如下:
源GB2312串: 2005年03期
转换成UTF8得到的串: 2005�?3�?
源串: 张虎勤 ZHANG Hu-qin
转换后成为乱码串: 张虎�?ZHANG Hu-qin
运行环境是这样的,源网页是GB2312,目标页面是UTF-8。源网页和目标网页的编码方式都不可能因为我这个问题而改变。