C#解决Informix中文乱码问题
来源:百度文库 编辑:神马文学网 时间:2024/04/27 06:56:50
C#解决Informix中文乱码问题 08-10-09 10:22:28 http://www.cnblogs.com/tigertian
核心提示:publicstaticstringGetEncodingString(stringsrcString) { Encodinge8859Encode=Encoding.GetEncoding(&quopublic static string GetEncodingString(string srcString)
{
Encoding e8859Encode = Encoding.GetEncoding("iso-8859-1");
Encoding srcEncode = Encoding.GetEncoding("gb2312");
Encoding dstEncode = Encoding.Unicode;
byte[] srcBytes = e8859Encode.GetBytes(srcString);//用iso-8859-1去转换源字符串
byte[] dstBytes = Encoding.Convert(srcEncode, dstEncode, srcBytes);//但是,是从gb2312转到unicode的
char[] dstChars = new char[dstEncode.GetCharCount(dstBytes, 0, dstBytes.Length)];
dstEncode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);
return new string(dstChars);
}具体原因我推测是因为数据过来是ISO-8859-1,但.Net地层格处理成了Gb2312了,所以需要通过两种编码转换成Unicode才能正常显示,听说在Java中只要new String(s.getBytes("ISO-8859-1"),"gb2312");就OK了。 转换成ISO
public static string GetISOEncodedString(string srcString)
{
if(bDBInfor) {
Encoding e8859Encode = Encoding.GetEncoding("iso-8859-1");
Encoding srcEncode = Encoding.Unicode;
Encoding dstEncode = Encoding.GetEncoding("gb2312");
byte[] srcBytes = srcEncode.GetBytes(srcString);//用Unicode去转换源字符串
byte[] dstBytes = Encoding.Convert(srcEncode, dstEncode, srcBytes);//但是,是从gb2312转到unicode的
char[] dstChars = new char[e8859Encode.GetCharCount(dstBytes, 0, dstBytes.Length)];
e8859Encode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);
return new string(dstChars);
}
return srcString;
}
本篇文章来源于GIS动力站|www.gispower.org 原文链接:http://www.gispower.org/article/dev/2008/109/08109102228E52C31HA19IE98G31HK8.html
核心提示:publicstaticstringGetEncodingString(stringsrcString) { Encodinge8859Encode=Encoding.GetEncoding(&quopublic static string GetEncodingString(string srcString)
{
Encoding e8859Encode = Encoding.GetEncoding("iso-8859-1");
Encoding srcEncode = Encoding.GetEncoding("gb2312");
Encoding dstEncode = Encoding.Unicode;
byte[] srcBytes = e8859Encode.GetBytes(srcString);//用iso-8859-1去转换源字符串
byte[] dstBytes = Encoding.Convert(srcEncode, dstEncode, srcBytes);//但是,是从gb2312转到unicode的
char[] dstChars = new char[dstEncode.GetCharCount(dstBytes, 0, dstBytes.Length)];
dstEncode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);
return new string(dstChars);
}具体原因我推测是因为数据过来是ISO-8859-1,但.Net地层格处理成了Gb2312了,所以需要通过两种编码转换成Unicode才能正常显示,听说在Java中只要new String(s.getBytes("ISO-8859-1"),"gb2312");就OK了。 转换成ISO
public static string GetISOEncodedString(string srcString)
{
if(bDBInfor) {
Encoding e8859Encode = Encoding.GetEncoding("iso-8859-1");
Encoding srcEncode = Encoding.Unicode;
Encoding dstEncode = Encoding.GetEncoding("gb2312");
byte[] srcBytes = srcEncode.GetBytes(srcString);//用Unicode去转换源字符串
byte[] dstBytes = Encoding.Convert(srcEncode, dstEncode, srcBytes);//但是,是从gb2312转到unicode的
char[] dstChars = new char[e8859Encode.GetCharCount(dstBytes, 0, dstBytes.Length)];
e8859Encode.GetChars(dstBytes, 0, dstBytes.Length, dstChars, 0);
return new string(dstChars);
}
return srcString;
}
本篇文章来源于GIS动力站|www.gispower.org 原文链接:http://www.gispower.org/article/dev/2008/109/08109102228E52C31HA19IE98G31HK8.html
C#解决Informix中文乱码问题
解决Linux下Java中文乱码问题
解决Mysql中文乱码
java中文乱码问题的原因及解决(转载)
解决linux下java程序(例如applet)中文乱码问题
安装moodle,中文显示乱码问题的完美解决
完美解决windows 7 RC 英文版中文乱码问题
解决gedit乱码问题
Myeclipse中JS中文乱码解决
SVG中文乱码解决步骤与方法
关于 Nutch 的一个问题: 中文乱码
Ajax中文处理乱码问题总结
两款软件乱码问题的解决
两款软件乱码问题的解决
终于解决了Apache乱码问题
解决英文版XP中文软件乱码的方法!
一开始安装选中文就乱码了.请问如何解决? - 安装与管理 - Joomla中文交流平台,Joomla AutoIt!,joomla模板,joomla问题
commons-fileupload 上传时的中文乱码问题
Tomcat中文乱码问题的原理和解决方法
解决金山词霸2007中美国传统词典音标乱码问题
Ubuntu下rhythmbox播放MP3乱码问题的解决
实用技巧:解决Samba共享出现乱码的问题
程序 解决 Properties 中文问题
关于中文乱码问题的补充,主要正对URL参数有中文的问题。