SQL Server 2008&国际货币

时间:2011-07-19 14:20:10

标签: sql sql-server-2008 formatting currency iso

我构建的应用程序在我们的组织全球范围内使用,需要支持多种不同的货币。 SQL Server使用'普通'的东西,即GBP符号,欧元符号正常,但当我为沙特里亚尔(ريالSAR)引入符号时,它将其存储为问号。

客户端是100%jQuery / javascript,支持启用REST的WCF服务。

我遇到了一些关于LocaleID here

的事情

希望有人可以对此有所了解。

1 个答案:

答案 0 :(得分:5)

将字符串格式化为nVarchar。如果它们位于表中的字段中,请更改数据类型。如果它们只是动态格式化,请使用N前缀。 nVarchar是unicode,是一个扩展的国际字符集。

示例:

SELECT 'ريال'

select N'ريال'

在我的系统上,第一个显示????,第二个显示正确的符号。

修改

如果字符输入为varchar,您仍会遇到问题。

见下面的例子:

DECLARE @t nvarchar(10) = N'ريال'
DECLARE @x nvarchar(10) = 'ريال'

SELECT @t
SELECT @x