.net从sybase中取数,变乱码的问题,网上很多人说,直接改服务器端的字符集,其实不用的。
用.NET来转换。
public static string ChangeCharset(string str, Encoding source, Encoding target)
{
string strChanged = "";
try
{
byte[] btSource = source.GetBytes(str);
strChanged = target.GetString(btSource);
}
catch (Exception ex)
{
}
return strChanged;
}
//这里需要注意的是我的服务器端字符集是这个iso_1,所以对应的是iso8859-1这个有点搞的,查一下微软的官网。
textBox1.Text = ChangeCharset(aa, Encoding.GetEncoding("iso8859-1"), Encoding.GetEncoding("gb2312"));