本文介绍了将阿拉伯语存储在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'لا أتكلم العربية')





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数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 19:46