SQL 服务器数据库将 'ć' 存储为 'c'

SQL Server database storing 'ć' as 'c'

我想在我的 sql 服务器数据库中存储一个巴尔干姓氏,但是当我尝试使用以下 SQL 更新记录时:

update User_Data
set name = 'Kramarić'
where User_PKID= 3047

但是当我查询数据库时:

select name from User_Data where User_PKID = 3047

它returns:

Kramaric

关于如何让它以原始形式存储的任何想法。我需要它,因为我在我的服务器代码上与来自网站的数据进行字符串比较,如果 'ć' 不相同,它就会失败。

您的列 name 是什么 数据类型 ?处理Unicode字符应该是NVARCHAR

并且您还必须使用 N'...' 前缀来指定 Unicode 字符串:

UPDATE dbo.User_Data
SET name = N'Kramarić'
WHERE User_PKID= 3047

You must precede all Unicode strings with a prefix N when you deal with Unicode string constants in SQL Server

update User_Data
set name = N'Kramarić'
where User_PKID= 3047