2012-06-26 65 views
5

我想向我的SQL Server 2005數據庫添加一些波斯語文本。SQL Server 2005中的波斯文數字

是沒有問題的信件,但波斯號(​​3210)轉換爲? ...

例如,如果我這個文本(سلام ۱۲۳۴‍‍‍)添加到數據庫中,會有(سلام ؟؟؟؟)數據庫/

我該怎麼辦? (例如,我應該使用哪種歸類?)

我正在使用Arabic_CI_AS歸類。在this列表,波斯語歸類Arabic_CI_AS (SQL Server 2005中沒有Persian整理,但2008年有!)

注:我不能使用SQL Server的新版本...

+1

使用Unicode數據類型(NCHAR,NVARCHAR)的選項之一? – Robb

+0

我正在使用'nvarchar'數據類型。 –

回答

7

如果插入字符串文字時,請務必標註與N「」 Unicode字符串,如

select N'سلام ۱۲۳۴‍‍‍' 

接下來,確保問號是否只在SSMS顯示問題:

declare @t nvarchar(50) = N'سلام ۱۲۳۴‍‍‍' 
select unicode(substring(@t, 1, 1)) 
select unicode(substring(@t, 2, 2)) 
select unicode(substring(@t, 3, 3)) 
select unicode(substring(@t, 4, 4)) 

返回Unicode值的每個字符:

1587 
1604 
1575 
1605 

我記得2005年SSMS顯示了一定範圍的Unicode在結果窗口中的問題。

1

您可以使用Arabic_CI_AI整理 和解決這個問題 我希望幫助你..