最近要从公司一个老的数据库里拿数据,但是数据是ISO-8859-1编码,网上学习了一些方法,这里记录一下防止下次又要找
private void button6_Click(object sender, EventArgs e) { //C# UTF-8 转换 ISO-8859-1 编码 string sResult = Txt_iso.Text.ToString(); //txt_iso这个是我的winform控件名称,你可以换成你的数据源 //string tt = sResult.get sResult = ConvertISO88591ToEncoding(sResult, Encoding.Default); MessageBox.Show(sResult); //处理RSS返回的数据 //. } private static string ConvertISO88591ToEncoding(string srcString, Encoding dstEncode) { String sResult; Encoding ISO88591Encoding = Encoding.GetEncoding("ISO-8859-1"); Encoding GB2312Encoding = Encoding.GetEncoding("GB2312"); //这个地方很特殊,必须利用GB2312编码 byte[] srcBytes = ISO88591Encoding.GetBytes(srcString); //将原本存储ISO-8859-1的字节数组当成GB2312转换成目标编码(关键步骤) byte[] dstBytes = Encoding.Convert(GB2312Encoding, dstEncode, srcBytes); char[] dstChars = new char[dstEncode.GetCharCount(dstBytes, 0, dstBytes.Length)]; dstEncode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);//利用char数组存储字符 sResult = new string(dstChars); return sResult; }
这样就能将这个编码格式的数据转换成正常的中文啦!
浙公网安备 33010602011771号