我正在尝试将一些波斯语文本添加到我的SQL Server 2005数据库中。
字母没有问题,但波斯数字(۱،۲،۳،...
)转换为?
......
例如,如果我将此文本(سلام ۱۲۳۴
)添加到数据库,则数据库中将有(سلام ؟؟؟؟
)/
我该怎么办? (例如,我应该使用哪种排序规则?)
我正在使用Arabic_CI_AS
整理。在this列表中,波斯语(波斯语)排序规则为Arabic_CI_AS
(SQL Server 2005没有Persian
排序规则,但2008年有!)
注意:我无法使用较新版本的SQL Server ...
答案 0 :(得分:7)
如果插入字符串文字,请务必使用N'标记Unicode字符串,例如
select N'سلام ۱۲۳۴'
接下来,确保问号是否只是SSMS中的显示问题:
declare @t nvarchar(50) = N'سلام ۱۲۳۴'
select unicode(substring( @t, 1, 1))
select unicode(substring( @t, 2, 2))
select unicode(substring( @t, 3, 3))
select unicode(substring( @t, 4, 4))
返回每个字符的Unicode值:
1587
1604
1575
1605
我记得SSMS 2005在结果窗口中显示某些Unicode范围时遇到了问题。
答案 1 :(得分:1)
您可以使用Arabic_CI_AI排序规则 并解决这个问题 我希望能帮到你..