2010-01-06 31 views
5

¿Cómo se configura un SQL Server 2005 DBMS, para que pueda almacenar datos en diferentes idiomas?Compatibilidad con varios idiomas de SQL Server

Mi problema exacto es este: en SQL Server Management Studio estoy escribiendo una declaración de inserción que contiene errores alemanes. El texto se guardó con éxito, pero la lectura del mismo valor da como resultado texto sin Umlaut.

Considere que tengo que admitir 4 idiomas: inglés, alemán, griego & ruso (no quiero pensar qué voy a enfrentar con el texto en ruso).

El DBMS ahora está configurado con intercalación griega (para admitir griego).

¿Esto causa algún problema?

¿Alguna pista?

Respuesta

5

Es necesario use el tipo de datos nvarchar para cadenas (http://msdn.microsoft.com/en-us/library/ms186939.aspx) y también debe preceder todas las cadenas de unicode con N (http://support.microsoft.com/kb/239530).

Cuando se trata de las constantes de cadena Unicode en SQL Server que debe preceder a todas las cadenas Unicode con una letra mayúscula N, como se documenta en el tema de SQL Server Libros en "Uso de Unicode de datos". El prefijo "N" significa Idioma nacional en el estándar SQL-92 y debe estar en mayúscula. Si no prefije una constante de cadena Unicode con N, SQL Server la convertirá a la página de códigos no Unicode de la base de datos actual antes de utilizar la cadena.

2

¿Está utilizando el tipo nvarchar (en lugar de varchar)? sería recomendable si tiene múltiples langs en la misma columna. que te permitirá almacenar y recuperar correctamente.

por supuesto, SQL Server sólo puede mantener un tipo de colación en una columna en particular, incluso si la columna se utiliza para almacenar cadenas en varios idiomas, así que es algo a tener en cuenta ...

Cuestiones relacionadas