WE8MSWIN1252编码转换
前几天帮同事搞一个问题,用.NET程序调Oracle数据库,数据库的默认编码方式是WE8MSWIN1252,用.NET读出来是乱码.
由于Oracle是别人的数据库,不能修改,所以只能在程序中进行编码转换,翻发很多资料发现WE8MSWIN1252对应是Windows-1252,
编码转换的方法如下:
1
public static string GetEncoding(string tmp)
2
{
3
Encoding win1252 = UnicodeEncoding.GetEncoding("windows-1252");
4
Encoding gb2312 = UnicodeEncoding.GetEncoding("gb2312");
5
byte[] bytes = win1252.GetBytes(tmp);
6
char[] outChar = gb2312.GetChars(bytes);
7
return new String(outChar);
8
}
public static string GetEncoding(string tmp)2
{3
Encoding win1252 = UnicodeEncoding.GetEncoding("windows-1252");4
Encoding gb2312 = UnicodeEncoding.GetEncoding("gb2312");5
byte[] bytes = win1252.GetBytes(tmp);6
char[] outChar = gb2312.GetChars(bytes);7
return new String(outChar);8
}
希望能帮到遇到类似问题的朋友.^_^

浙公网安备 33010602011771号