我构建的一个应用程序被我们的组织在全球范围内使用,并且需要支持几种不同的货币。SQL Server 在处理“正常”的东西(即英镑符号、欧元符号)方面做得很好,但是当我介绍沙特里亚尔 (ريال SAR) 的符号时,它会将其存储为问号。
客户端是 100% jQuery/javascript 与支持 REST 的 WCF 服务一起工作。
我在这里遇到了一些谈论 LocaleID 的东西
希望有人可以对此有所了解。
我构建的一个应用程序被我们的组织在全球范围内使用,并且需要支持几种不同的货币。SQL Server 在处理“正常”的东西(即英镑符号、欧元符号)方面做得很好,但是当我介绍沙特里亚尔 (ريال SAR) 的符号时,它会将其存储为问号。
客户端是 100% jQuery/javascript 与支持 REST 的 WCF 服务一起工作。
我在这里遇到了一些谈论 LocaleID 的东西
希望有人可以对此有所了解。
将您的字符串格式化为nVarchar
. 如果它们位于表中的字段中,请更改数据类型。如果它们只是动态格式化,请使用N
前缀。 nVarchar
是 unicode,它是一个扩展的国际字符集。
例子:
SELECT 'ريال'
select N'ريال'
在我的系统上,第一个显示????
,第二个正确显示符号。
编辑
如果按原样输入字符,varchar
您仍然会遇到问题。
请参见下面的示例:
DECLARE @t nvarchar(10) = N'ريال'
DECLARE @x nvarchar(10) = 'ريال'
SELECT @t
SELECT @x