Administrar la conversión de datos entre esquemas de codificación Unicode

En este tema se explica cómo mantener la integridad de datos de caracteres cuando tanto el almacenamiento de datos en el servidor como la aplicación cliente que interactúa con los datos son compatibles con Unicode pero utilizan distintos esquemas de codificación Unicode. SQL Server almacena los datos Unicode con el esquema de codificación UCS-2. Sin embargo, muchos clientes procesan Unicode con otro esquema de codificación (por lo general, UTF-8). Este escenario se suele producir en aplicaciones basadas en Web.

Dado que en esencia se sigue convirtiendo de un esquema de codificación a otro, sirven también muchas de las mismas soluciones descritas en los temas Administrar la conversión de datos entre un servidor Unicode y un cliente que no sea de Unicode y Administrar conversión de datos entre páginas de código de cliente/servidor. Las constantes de cadena de caracteres Unicode enviadas al servidor deben precederse con una N mayúscula. En el caso de las aplicaciones basadas en Web, el código CHARSET se especifica mediante el atributo META de la página HTML del lado cliente. Por ejemplo, especifique CHARSET = utf-8 si el esquema de codificación Unicode es UTF-8. En el servidor, el esquema de codificación del cliente se especifica mediante la propiedad Session.CodePage o la directiva @Codepage.Por ejemplo, codepage=65001 especifica un esquema de codificación UTF-8. Si sigue estas instrucciones, Internet Information Services (IIS) 5.0 o versiones posteriores controlarán perfectamente la conversión de UTF-8 a UCS-2 y a la inversa sin esfuerzo adicional por su parte.

En aplicaciones Visual Basic, las cadenas de caracteres se procesan con el esquema de codificación UCS-2. Por lo tanto, no tiene que especificar explícitamente la conversión de esquemas de codificación entre estas aplicaciones y una instancia de SQL Server.