2010-05-21 34 views
20

¿Cómo puedo insertar caracteres arábigos en la base de datos sql? Traté de insertar datos arábigos en una tabla y los caracteres árabes en la secuencia de comandos de inserción se insertaron como '??????' en la tabla.¿Cómo insertar caracteres arábigos en la base de datos sql?

Intenté pegar directamente los datos en la tabla mediante el estudio de gestión sql y los caracteres árabes se insertaron con éxito y precisión.

Miré a mi alrededor en busca de soluciones para este problema y algunos subprocesos sugirieron cambiar el tipo de datos a nvarchar en lugar de varchar. Intenté esto también, pero sin suerte.

¿Cómo podemos insertar caracteres arábigos en la base de datos sql?

+0

¿Cómo sabe que no lo hizo ¿trabajo? Tal vez su programa de consulta no puede imprimir caracteres Unicode. ¿Qué programa está mostrando el "????"? ¿Cómo sabes que puede mostrar Unicode correctamente? –

+0

En SQL Management Studio, cuando consulto la fila, aparece como '????' y lo mismo se refleja en mi programa. – pavanred

Respuesta

40

Para que el campo pueda almacenar caracteres Unicode, debe usar el tipo nvarchar (u otro similar como ntext, nchar).

Para insertar los caracteres Unicode en la base de datos debe enviar el texto como unicode usando un tipo de parámetro como nvarchar/SqlDbType.NVarChar.

(Para completar: si va a crear SQL de forma dinámica (en contra del consejo común), se pone una N antes de una cadena literal para que sea Unicode Por ejemplo:.. insert into table (name) values (N'Pavan'))

+0

+1 para el ejemplo. Gracias Guffa. Hubo otro hilo que sugirió el prefijo 'N'. Pero, no estaba muy seguro de exactamente dónde hacerlo. – pavanred

+1

+1 por su parte completa, muy informativa. –

+0

+1 para 'SqlDbType.NVarChar' –

Cuestiones relacionadas