Sql server 2008 r2 SQL Server支持国际字符,如带有cedilla的c

Sql server 2008 r2 SQL Server支持国际字符,如带有cedilla的c,sql-server-2008-r2,Sql Server 2008 R2,我有一个用户可以注册的网站。注册信息存储在SQL Server中。一个最近注册的用户,用户名中包含一个“c with cedilla”,换句话说François 这存储在SQL Server 2008R2的nvarchar列中,排序规则为SQL\u Latin1\u General\u CP1\u CI\u AS 当我查看SSMS中的数据时,它看起来是这样的:François 我使用一个存储过程来检查用户名/密码,但它失败了,因为两者不一样 所以我不确定我需要在这里做什么。我应该使用不同的排序

我有一个用户可以注册的网站。注册信息存储在SQL Server中。一个最近注册的用户,用户名中包含一个“c with cedilla”,换句话说
François

这存储在SQL Server 2008R2的
nvarchar
列中,排序规则为
SQL\u Latin1\u General\u CP1\u CI\u AS

当我查看SSMS中的数据时,它看起来是这样的:
François

我使用一个存储过程来检查用户名/密码,但它失败了,因为两者不一样

所以我不确定我需要在这里做什么。我应该使用不同的排序规则吗?如果我使用的是
nvarchar
列,为什么它会被更改


Greg

处理多语言文本时,请使用UTF-8。使用任何特定的其他语言集只会在以后引起很大的麻烦。首先,对于Unicode列(
nvarchar
),排序规则是不相关的(排序数据除外)nvarchar的代码页始终是16位UTF-16(每个字符2个字节)。第二:您能告诉我们如何将数据插入SQL Server吗?如果您使用的是文字SQL语句,则必须使用
N'…'
前缀来显示它是Unicode字符串。@MarcB:SQL Server并不真正支持UTF-8-它使用的是非Unicode编码(取决于排序规则),或者是
nvarchar
columns@marc_s:正确,这不是Sql Server的问题-我可以更改该值以使用cedilla,SSMS正确存储该值并让用户登录。因此,问题在于如何将数据正确地输入数据库。