将阿拉伯语存储在SQL数据库中 [英] store arabic in SQL database

查看:92
本文介绍了将阿拉伯语存储在SQL数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在SQL 2008数据库中存储阿拉伯字符串,但是将其转换为问号,为什么?以及我该怎么办?

I tried to store Arabic string in SQL 2008 database but it converted to " question mark " why ? and what should I do ?

推荐答案

您需要为varchar / char列选择阿拉伯语排序规则,或使用Unicode(nchar / nvarchar)

You need to choose an Arabic collation for your varchar/char columns or use 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。

Note the N before values in insert statement above. If you do not mention it, system will treat the values as Varchar, not NVarchar.



SELECT * FROM #test

返回

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

要查看阿拉伯语校对列表,请使用

To see a list of Arabic collations use

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

这篇关于将阿拉伯语存储在SQL数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆