sql >> Base de Datos >  >> RDS >> Sqlserver

almacenar árabe en la base de datos SQL

Debe elegir una intercalación árabe para sus columnas varchar/char o usar Unicode (nchar/nvarchar)

CREATE TABLE #test
(
col1 VARCHAR(100) COLLATE Latin1_General_100_CI_AI,
col2 VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS,
col3 NVARCHAR(100)
)
INSERT INTO #test VALUES(N'لا أتكلم العربية',N'لا أتكلم العربية',N'لا أتكلم العربية')

Tenga en cuenta la N antes de los valores en la declaración de inserción anterior. Si no lo menciona, el sistema tratará los valores como Varchar, no como NVarchar.

SELECT * FROM #test

Devoluciones

col1                           col2                           col3
------------------------------ ------------------------------ ------------------------------
?? ????? ???????               لا أتكلم العربية               لا أتكلم العربية

Para ver una lista de intercalaciones en árabe, use

SELECT name, description 
FROM fn_helpcollations() 
WHERE name LIKE 'Arabic%'