2012-06-26 14 views
5

Estoy intentando agregar algo de texto persistente a mi base de datos SQL Server 2005.Números persas en SQL Server 2005

No hay ningún problema con las letras, los números, pero Persa (۱،۲،۳،...) se convierten en ? ...

Por ejemplo, si añado este texto (سلام ۱۲۳۴‍‍‍) a la base de datos, habrá (سلام ؟؟؟؟) en la base de datos/

¿Qué debo hacer? (por ejemplo, ¿qué clasificación debo usar?)

Estoy usando Arabic_CI_AS intercalación. en this lista, farsi (persa) de colación es Arabic_CI_AS (SQL Server 2005 no tiene Persian cotejo, pero el 2008 tiene!)

Nota: No puedo usar las nuevas versiones de SQL Server ...

+1

está utilizando uno de los tipos de datos Unicode (nchar, nvarchar) es una opción? – Robb

+0

Estoy usando el tipo de datos 'nvarchar'. –

Respuesta

7

Si inserta literales de cadena, asegúrese de marcar las cadenas Unicode con N '', tal como

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

a continuación, asegúrese de si los signos de interrogación son sólo un problema de visualización en 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)) 

devuelve los valores Unicode para cada personaje:

1587 
1604 
1575 
1605 

recuerdo que SSMS 2005 tenían problemas para mostrar ciertos rangos de Unicode en la ventana de resultados.

1

que es posible utilizar Arabic_CI_AI cotejo y resolver este problema espero que te ayude ..

Cuestiones relacionadas