检索阿拉伯字符串时 .Net 的 IBM Informix 数据库编码问题
IBM Informix Database Encoding Issue With .Net when Retrieve Arabic String
我在从 IBM INFORMIX 数据库检索数据时遇到了这个问题
-我已经安装了 2.90 版
像这样存储在数据库中的数据
نيمبالى بادرها سرادهى راجو
当我从 informix 中检索它时,格式错误
äíãÈÇáì ÈÇÏÑåÇ ÓÑÇÏåì ÑÇÌæ
数据库使用了这种编码en_us.819
所以我尝试了很多解决方案来修复这种编码
我已经在 .NET 中创建了这种方法,以便 Uni 编码这种错误的格式以更正阿拉伯语格式
private static string UniCode_IBM819(string str)
{
Encoding iso = Encoding.GetEncoding("iso-8859-1");
Encoding unicode = Encoding.GetEncoding(708);//Encoding.GetEncoding(864);//Encoding.UTF8;
//byte[] unicodeBytes = unicode.GetBytes(str);
byte[] isoBytes = iso.GetBytes(str);
byte[] utfBytes = Encoding.Convert(iso,unicode, isoBytes);
return unicode.GetString(utfBytes);
}
我尝试了 3 种编码,但得到的结果像
?????? ???? ????? ?????
问题已解决
我正在使用这个方法:
private static string UniCodeIso819Towin1256(string src)
{
Encoding iso819 = Encoding.GetEncoding("iso8859-1");
Encoding win1256 = Encoding.GetEncoding(1256);
byte[] isoBytes = iso819.GetBytes(src);
return win1256.GetString(isoBytes);
}
将此返回值 'äíãÈÇáì ÈÇÏÑåÇ ÓÑÇÏåì ÑÇÌæ' 转换为像这样的原始格式 'نيمبالى بادرها سرادهى را杰و'
我在从 IBM INFORMIX 数据库检索数据时遇到了这个问题
-我已经安装了 2.90 版 像这样存储在数据库中的数据
نيمبالى بادرها سرادهى راجو
当我从 informix 中检索它时,格式错误
äíãÈÇáì ÈÇÏÑåÇ ÓÑÇÏåì ÑÇÌæ
数据库使用了这种编码en_us.819
所以我尝试了很多解决方案来修复这种编码
我已经在 .NET 中创建了这种方法,以便 Uni 编码这种错误的格式以更正阿拉伯语格式
private static string UniCode_IBM819(string str)
{
Encoding iso = Encoding.GetEncoding("iso-8859-1");
Encoding unicode = Encoding.GetEncoding(708);//Encoding.GetEncoding(864);//Encoding.UTF8;
//byte[] unicodeBytes = unicode.GetBytes(str);
byte[] isoBytes = iso.GetBytes(str);
byte[] utfBytes = Encoding.Convert(iso,unicode, isoBytes);
return unicode.GetString(utfBytes);
}
我尝试了 3 种编码,但得到的结果像
?????? ???? ????? ?????
问题已解决
我正在使用这个方法:
private static string UniCodeIso819Towin1256(string src)
{
Encoding iso819 = Encoding.GetEncoding("iso8859-1");
Encoding win1256 = Encoding.GetEncoding(1256);
byte[] isoBytes = iso819.GetBytes(src);
return win1256.GetString(isoBytes);
}
将此返回值 'äíãÈÇáì ÈÇÏÑåÇ ÓÑÇÏåì ÑÇÌæ' 转换为像这样的原始格式 'نيمبالى بادرها سرادهى را杰و'