Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

armazenar árabe no banco de dados SQL


Você precisa escolher um agrupamento árabe para suas colunas varchar/char ou 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'لا أتكلم العربية')

Observe os valores N antes da instrução insert acima. Caso não mencione, o sistema tratará os valores como Varchar, não NVarchar.
SELECT * FROM #test

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

Para ver uma lista de agrupamentos em árabe, use
SELECT name, description 
FROM fn_helpcollations() 
WHERE name LIKE 'Arabic%'