C# Odbc Informix读取中文方法
一。 部署好informix服务器后
二。 在windows主机安装好Informix Client-SDK, 这个软件客户端时免费的,可以在官网下载
三。配置好ODBC连接
1.用户名密码服务端口自行填写
2.关于客户语言的配置要使用以下参数:
Client Locale -> en_US.CP1252
Database Locale -> en_US.819
其他参数使用默认值即可:如下图:

四。通过c#读取表数据, 参考以下代码
需要引入: Newtonsoft.Json.dll
C#默认读取的时iso-8859-1, 需要转换为系统默认的:
OdbcConnection connection = new OdbcConnection(); connection.ConnectionString = "DSN=odbchost;"; connection.Open(); OdbcCommand cmd = new OdbcCommand(); cmd.Connection = connection; cmd.CommandText = "select first 3 * from tabname"; OdbcDataReader reader = cmd.ExecuteReader(); List<Hashtable> data = new List<Hashtable>(); while (reader.Read()) { int count = reader.FieldCount; Hashtable row = new Hashtable(); for (int i = 0; i < count; i++) { string columnName = reader.GetName(i); string dataType = reader.GetDataTypeName(i).ToLower(); object value = null; if (!reader.IsDBNull(i)) { value = reader.GetValue(i); } if (dataType.Contains("char")) { string v2 = (string)value; string v3 = null; if (v2 != null) { byte[] bytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(v2); v3 = Encoding.Default.GetString(bytes); } row.Add(columnName, v3); } else { row.Add(columnName, value); } } data.Add(row); } string json = JsonConvert.SerializeObject(data); Debug.WriteLine(json);

浙公网安备 33010602011771号