我有一个使用varchar
数据类型在其数据库中存储阿拉伯名字的旧体制,现在的名字出现在数据库中是这样的:如何从varchar数据类型读取阿拉伯字符?
"ãíÓÇÁ ÇáãÈíÖíä"
现在我使用VB.NET建立一个新的制度,怎么能我读了这些名字以阿拉伯字符出现?
另外我需要指出的是,旧系统甚至存储数据,正如我前面提到的那样,它会以正确的格式转换字符。
如何在新系统和SQL Server Management Studio中正确显示它?
我有一个使用varchar
数据类型在其数据库中存储阿拉伯名字的旧体制,现在的名字出现在数据库中是这样的:如何从varchar数据类型读取阿拉伯字符?
"ãíÓÇÁ ÇáãÈíÖíä"
现在我使用VB.NET建立一个新的制度,怎么能我读了这些名字以阿拉伯字符出现?
另外我需要指出的是,旧系统甚至存储数据,正如我前面提到的那样,它会以正确的格式转换字符。
如何在新系统和SQL Server Management Studio中正确显示它?
你试过nvarchar的?您可能会发现在链路的一些有用的信息,下面
When must we use NVARCHAR/NCHAR instead of VARCHAR/CHAR in SQL Server?
我面临同样的问题,我通过两个步骤解决了这个问题:
1.更改数据库中列的数据类型为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数据上使用此方法一次,因为如果使用两次将会损坏数据
是的,这是正确的。他们如何阅读角色? – 2013-04-28 07:21:46
好的,我将它标记为迁移到[dba.stackexchange](http://dba.stackexchange.com/faq),在那里你可以得到更好的答案。 – 2013-04-28 07:25:33
数据库中相关列的排序规则设置是否正确? http://stackoverflow.com/questions/7781103/sql-server-set-character-set-not-collation – 2013-04-28 15:30:18