2012-06-26 14 views
5

Ich versuche, persischer Text zu meiner SQL Server 2005-Datenbank hinzuzufügen.Persische Zahlen in SQL Server 2005

Es gibt kein Problem mit Buchstaben, aber persisch Zahlen (۱،۲،۳،...) auf ? umgewandelt ...

Zum Beispiel, wenn ich diesen Text (سلام ۱۲۳۴‍‍‍) zur Datenbank hinzufügen, es wird (سلام ؟؟؟؟) in der Datenbank/

Was soll ich tun? (Zum Beispiel, welche Kollation sollte ich verwenden?)

Ich verwende Arabic_CI_AS Kollation. in this Liste, Sortierung Farsi (Persisch) ist Arabic_CI_AS (SQL Server 2005 nicht Persian Sortierungs hat, aber 2008 hat!)

Anmerkung: Ich nicht neuere Versionen von SQL Server verwenden kann ...

+1

eines der Unicode-Datentypen Nutzt (NChar, NVarChar) eine Option? – Robb

+0

Ich verwende 'nvarchar' Datentyp. –

Antwort

7

Wenn Sie Stringliterale einfügen, sollten Sie Unicode-Strings mit N ‚‘, wie

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

als nächstes stellen Sie sicher, ob die Fragezeichen nur ein Anzeigeproblem in SSMS sind markieren:

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)) 

gibt die Unicode-Werte für jedes Zeichen:

1587 
1604 
1575 
1605 

Ich erinnere mich, dass SSMS 2005 Probleme hatte die Anzeige bestimmte Unicode im Ergebnisfenster reicht.

1

Sie können Arabic_CI_AI verwenden Sie die Sortierungs und Lösen Sie dieses Problem Ich hoffe, dass Ihnen helfen ..