SQL Server 2005中的波斯数字

时间:2012-06-26 10:37:37

标签: sql-server sql-server-2005 persian

我正在尝试将一些波斯语文本添加到我的SQL Server 2005数据库中。

字母没有问题,但波斯数字(۱،۲،۳،...)转换为? ......

例如,如果我将此文本(سلام ۱۲۳۴‍‍‍)添加到数据库,则数据库中将有(سلام ؟؟؟؟)/

我该怎么办? (例如,我应该使用哪种排序规则?)

我正在使用Arabic_CI_AS整理。在this列表中,波斯语(波斯语)排序规则为Arabic_CI_AS (SQL Server 2005没有Persian排序规则,但2008年有!)

注意:我无法使用较新版本的SQL Server ...

2 个答案:

答案 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排序规则 并解决这个问题 我希望能帮到你..