当我尝试在sql server 2008中插入阿拉伯文本作为sql variable
时出现问题,插入像这个值????
这样的数据。如何解决这个问题?
这是我的查询
insert into tests values(N''+@name)
结果显示如下:
答案 0 :(得分:2)
将unicode数据类型用于数据存储,并使用N literal开始字符串,如下所示:
declare @t table(col Nvarchar(100));
insert @t (col) values (N'your text');
或者使用适当的COLLATION与非unicode数据类型,但将您的值作为unicode数据(使用N)传递,因为您的服务器/数据库排序规则似乎与阿拉伯语不同
答案 1 :(得分:2)
试试这个,你会看到你使用的Data Type
:
DECLARE @V1 VARCHAR(50) = 'فيلم';
DECLARE @V2 NVARCHAR(50) = N'فيلم'
SELECT @V1 Varchar_Col, @V2 NVarchar_Col
更新
通过SqlDbType.NVarChar
时尝试使用Parameter
。
您也可以尝试:
INSERT INTO tests (ID_Number) VALUES (@name)
答案 2 :(得分:0)
您使用的是哪种数据类型?您需要使用支持此类型的数据类型,例如NVARCHAR。
这篇由Kinchit联系的文章将解释:here