¿Intercalación Unicode para SQL Server 2005?

Necesito una intercalación para una base de datos que almacene correctamente cualquier carácter Unicode en una instancia de SQL Server 2005. La columna actualmente es de tipo nvarchar (puede ser cambiado). ¿Cómo puedo hacer eso?

preguntado el 31 de enero de 12 a las 08:01

Consulte dba.se para saber qué significa la intercalación: dba.stackexchange.com/q/4270/630 -

1 Respuestas

La intercalación no tiene conexión con el almacenamiento de N[VAR]CHAR datos: establece las reglas de comparación entre cuerdas. Entonces, tomaste la decisión correcta NVARCHAR

Respondido el 31 de enero de 12 a las 17:01

ok, pero cuando, por ejemplo, guardo caracteres chinos, aparecen como "????". Ayer, tuve que guardar una letra húngara 'ő', que es una 'o' con un acento agudo doble. Se truncó a un regulador 'o', tanto en el SSMS como en mi aplicación. Luego configuré la intercalación en húngaro y todo funcionó bien a partir de ese momento. Entonces, ¿cómo resuelvo esto para cualquier cadena? - Hackworth

Si almacena N'ő 'y' ő ', almacena cosas diferentes. - Oleg Dok

Lo siento, eso no me ayuda. ¿Cuál es la diferencia entre N'ő 'y' ő '? Y sobre todo, ¿cómo soluciono mi problema original, pudiendo guardar y recuperar todo correctamente, que NO funciona en este momento? - Hackworth

Utilice el tipo nvarchar en cada parte de su código. En la cadena TSQL en forma N 'algo' - tratar como unicode, en forma 'algo' - como cadena ansi no unicode - Oleg Dok

Para ser claro, la intercalación solo no tiene conexión con el almacenamiento para n[var]char. For [var]char claramente hace lo que define la página de códigos. - Martin Smith

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.