项目中用到Oracle,服务器端使用AMERICAN_AMERICA.WE8ISO8859P1字符编码,我没有修改服务器端的权限,只能修改客户端.但是客户端无论我换什么字符编码均得到乱码,最后我将客户端的字符编码也设为AMERICAN_AMERICA.WE8ISO8859P1,然后从程序中下手. AMERICAN_AMERICA.WE8ISO8859P1,这个字符编码是西欧字符编码,对应于.Net的就是iso-8859-1字符编码,所以只需要改到系统的默认字符编码就行了. 写一个函数:
 /**//// <summary>
/// 将西欧字符编码转换成GB2312
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string Convert8859P1ToGB2312(string s)
 {
return System.Text.Encoding.Default.GetString(System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(s));
}
|