Conceptos básicos de Unicode

Actualizado: 17 de julio de 2006

El almacenamiento de datos en varios idiomas dentro de una misma base de datos es difícil de controlar cuando sólo se utilizan datos de tipo carácter y páginas de códigos. También es difícil encontrar una página de códigos para la base de datos que pueda almacenar todos los caracteres específicos de cada idioma. Además, es difícil asegurar la traducción adecuada de los caracteres especiales cuando éstos se leen o se actualizan desde clientes diferentes que utilizan páginas de códigos diferentes. Las bases de datos que admiten clientes internacionales siempre deberían utilizar tipos de datos Unicode en vez de tipos de datos no Unicode.

Por ejemplo, imaginemos que una base de datos de clientes en América del Norte tiene que administrar tres idiomas:

  • Nombres y direcciones en español para México
  • Nombres y direcciones en francés para Quebec
  • Nombres y direcciones en inglés para el resto de Canadá y para EE.UU.

Cuando utilice sólo columnas con caracteres y páginas de códigos, hay que prestar atención para asegurarse de que la base de datos esté instalada con una página de códigos que controle los caracteres de los tres idiomas. También que prestar atención para asegurar la adecuada traducción de los caracteres de uno de los idiomas cuando éstos se lean en clientes que tengan una página de códigos para otro idioma.

Con el crecimiento de Internet, es más importante que nunca la compatibilidad con muchos equipos cliente que ejecuten distintas configuraciones regionales. Sería difícil elegir una página de códigos para los tipos de datos de carácter que admita todos los caracteres que precisa una audiencia mundial.

La forma más fácil de administrar datos de carácter en bases de datos internacionales es utilizar siempre los tipos de datos Unicode nchar, nvarchar y nvarchar(max) en lugar de sus equivalentes no Unicode, char, varchar y text.

Unicode es un estándar que permite asignar puntos de código con caracteres. Puesto que se ha diseñado para cubrir todos los caracteres de todos los idiomas del mundo, no es preciso usar páginas de código diferentes para controlar los distintos juegos de caracteres. SQL Server 2005 admite el estándar Unicode versión 3.2.

Si todas las aplicaciones que trabajan con bases de datos internacionales utilizan también variables Unicode en vez de variables no Unicode, no se tienen que realizar traducciones de caracteres en el sistema. Los clientes verán los mismos caracteres en los datos que el resto de clientes.

SQL Server 2005 almacena todos los datos de catálogo del sistema de texto en columnas cuyo tipo de datos es Unicode. Los nombres de los objetos de la base de datos, como tablas, vistas y procedimientos almacenados, se almacenan en columnas Unicode. Esto permite desarrollar aplicaciones utilizando solamente Unicode, lo que ayuda a evitar las complicaciones de conversión entre páginas de códigos.

Vea también

Conceptos

Usar datos Unicode
Efectos de Unicode en el almacenamiento y el rendimiento

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se ha sustituido la referencia al tipo de datos ntext por el tipo de datos nvarchar(max).