utf8_general_ci utf8 spanish language dateformat collations sql-server database internationalization cjk

sql-server - utf8 - sql server collations



Campo de la base de datos de SQL Server para manejar caracteres coreanos y chinos (1)

¿Es posible tener un campo en SQLServer que pueda almacenar caracteres chinos, coreanos y europeos? Mis caracteres chinos se vuelven ?????

El tipo de datos también es NVARCHAR.


NVARCHAR es el tipo adecuado para esto: almacena todo en un Unicode de 2 bytes.

Lo que debe prestar atención es cuando trabaje con campos NVARCHAR en SQL Server Management Studio. ¡ Debe usar el prefijo N''....'' en ese caso!

Si usas esto:

INSERT INTO dbo.YourTable(NVarcharColumn) VALUES(''Some Chinese text here'')

entonces SSMS convertirá temporalmente la cadena literal que usted especifique en VARCHAR (¡no Unicode!) y así perderá cualquier carácter codificado en Unicode.

Sin embargo, si usas:

INSERT INTO dbo.YourTable(NVarcharColumn) VALUES(N''Some Chinese text here'')

(¡tenga en cuenta el prefijo N antes del literal de la cadena!), entonces SSMS manejará todo como Unicode todo el tiempo, y sus caracteres especiales chinos o coreanos (u otros) deberán conservarse.