我在托管上有SQL Server,客户端是移动应用程序。
我有逻辑,用户创建数据并将其存储在服务器上。一些数据是文本。但是,用户可以输入英语,希伯来语或其客户支持的任何其他语言。
我需要为表格指定哪种排序以支持所有语言?
此致 约阿夫
答案 0 :(得分:2)
您需要将其存储为nvarchar,并确保在文本前加上N
例如
declare @n nchar(1)
set @n = N'文'
select @n
GO
declare @n nchar(1)
set @n = '文'
select @n
输出
----
文
(1 row(s) affected)
----
?
(1 row(s) affected)
字符串值之前的N告诉SQL Server将其视为unicode,请注意当您不使用N时会收到问号吗?
在搜索方面,请查看Performance Impacts of Unicode, Equals vs LIKE, and Partially Filled Fixed Width
答案 1 :(得分:1)
在创建表格时,您必须使用nchar
代替char
和nvarchar
而不是varchar
。