2012-05-10 11 views
6

Quiero usar texto Unicode en mi sitio. Tengo el tipo de datos nvarchar (max) en la base de datos para almacenar los datos. Cuando guardo texto unicode en la base de datos, funciona bien. Sin embargo, cuando trato de realizar alguna operación SQL, el texto Unicode se cambia a "?????" Por ejemplo, la siguiente consultausando texto unicode en el servidor sql 2008

declare @unicodetext nvarchar(250) 
set @unicodetext='बन्द' 
select @unicodetext 

resultados

sqlunicode

¿Cuál es la solución para esto? Gracias

+0

¿Cuál es la intercalación predeterminada de la base de datos? – Oded

+0

@Oded La intercalación predeterminada es SQL_Latin1_General_CP1_CI_AS – Paras

Respuesta

10

Trate

declare @unicodetext nvarchar(250) 
set @unicodetext = N'बन्द' 
select @unicodetext 

Tal vez has notado que SQL Server utiliza N a cualquier entrada de cadena entre comillas cuando se generan secuencias de comandos DDL para usted.

+0

Buen lugar. El texto Unicode debe ser calificado como tal usando el modificador 'N'. – Oded

1

usted tiene que configurar su intercalación de base de datos a una intercalación que acepta este tipo de personajes o puede añadir la cláusula de colación en su selecto como esto (Google me dijo que este es un personaje Hindi)

declare @unicodetext nvarchar(250) 
set @unicodetext='बन्द' 
select @unicodetext 
COLLATE Indic_General_90_CI_AS 

que no trabajará, pero he encontrado esto en BOL para SQL Server 2005:

4 la colación Hindi está en desuso en SQL Server 2005 debido a que la mesa de selección 2000 Windows se utiliza en esta versión de SQL Server. La intercalación todavía existe en el servidor, pero no será compatible con una futura versión de SQL Server, y no aparece en :: fn_helpcollations().

5 Las colaciones hindi y Lithuanian_Classic están en desuso en SQL Server 2005. Estas colaciones todavía existen en el servidor, pero van a no se apoya en una versión futura de SQL Server y no muestran en :: fn_helpcollations().

para 2008:

Hindi (India) - No disponible a nivel de servidor

Cuestiones relacionadas