我构建的应用程序在我们的组织全球范围内使用,需要支持多种不同的货币。 SQL Server使用'普通'的东西,即GBP符号,欧元符号正常,但当我为沙特里亚尔(ريالSAR)引入符号时,它将其存储为问号。
客户端是100%jQuery / javascript,支持启用REST的WCF服务。
我遇到了一些关于LocaleID here
的事情希望有人可以对此有所了解。
答案 0 :(得分:5)
将字符串格式化为nVarchar
。如果它们位于表中的字段中,请更改数据类型。如果它们只是动态格式化,请使用N
前缀。 nVarchar
是unicode,是一个扩展的国际字符集。
示例:
SELECT 'ريال'
select N'ريال'
在我的系统上,第一个显示????
,第二个显示正确的符号。
修改强>
如果字符输入为varchar
,您仍会遇到问题。
见下面的例子:
DECLARE @t nvarchar(10) = N'ريال'
DECLARE @x nvarchar(10) = 'ريال'
SELECT @t
SELECT @x