如何从varchar数据类型中读取阿拉伯字符?

时间:2013-04-28 06:57:08

标签: sql-server vb.net

我有一个旧系统,在其数据库中使用varchar数据类型来存储阿拉伯名称,现在名称出现在数据库中,如下所示:

  "ãíÓÇÁ ÇáãÈíÖíä" 

现在我正在使用VB.NET构建一个新系统,如何读取这些名称以阿拉伯字符显示?

此外,我需要指出旧系统甚至存储数据,正如我前面提到的,它以正确的格式转换字符。

如何在新系统和SQL Server Management Studio中正确显示它?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我通过两个步骤解决了这个问题:

1.将DB中列的数据类型更改为nvarchar

2.使用编码将数据更改为阿拉伯语

我使用了以下功能

     private string GetDataWithArabic(string srcData)
    {
        Encoding iso = Encoding.GetEncoding("iso-8859-1");
        Encoding unicode = Encoding.Default;
        byte[] unicodeBytes = iso.GetBytes(srcData);
        return unicode.GetString(unicodeBytes);
    }

但请确保在DB数据上使用此方法一次,因为如果使用两次,它将损坏数据

答案 1 :(得分:0)

答案 2 :(得分:0)

你尝试过nvarchar吗?您可以在以下链接中找到一些有用的信息

When must we use NVARCHAR/NCHAR instead of VARCHAR/CHAR in SQL Server?