我尝试在 SQL 2008 数据库中存储阿拉伯字符串,但它转换为“问号”,为什么?我该怎么办?
您需要为 varchar/char 列选择阿拉伯排序规则或使用 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'لا أتكلم العربية')
请注意上面插入语句中的 N 之前的值。如果您不提及,系统会将这些值视为 Varchar,而不是 NVarchar。
SELECT * FROM #test
Returns
col1 col2 col3
------------------------------ ------------------------------ ------------------------------
?? ????? ??????? لا أتكلم العربية لا أتكلم العربية
要查看阿拉伯语排序规则列表,请使用
SELECT name, description
FROM fn_helpcollations()
WHERE name LIKE 'Arabic%'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)