检索阿拉伯字符串时 .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);
        }

将此返回值 'äíãÈÇáì ÈÇÏÑåÇ ÓÑÇÏåì ÑÇÌæ' 转换为像这样的原始格式 'نيمبالى بادرها سرادهى را杰و'