我有一個使用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