UTF-8 nvarchar罗马尼亚字母未在SQL Server 2012中显示

时间:2015-05-28 11:07:27

标签: c# sql sql-server utf-8 sql-server-2012

我的数据库中存在变音符问题,它应该用罗马尼亚语存储单词。我使用nvarchar数据类型,我该怎么办?

我试过这个:

INSERT INTO Raion
VALUES 
(1,'Chișinău'),
(2,'Bălți'),
(3,'Comrat'),
(4,'Tiraspol')

但我最终会得到这样的条目:

?oldane?ti
?tefan Voda
Anenii Noi
Bal?i
Basarabeasca
Briceni
Cahul

这是表格:

CREATE TABLE Raion (
 id int Primary Key,
 denumire nvarchar(255) Not Null Unique
)

1 个答案:

答案 0 :(得分:1)

使用N前缀您的denumire值以指示Unicode常量字符串

模式

CREATE TABLE Raion
    ([id] int, [denumire] nvarchar(8))
;

INSERT INTO Raion
    ([id], [denumire])
VALUES
    (1,N'Chișinău'),
    (2,N'Bălți'),
    (3,N'Comrat'),
    (4,N'Tiraspol')
;

查询

SELECT * 
FROM raion

输出

id  denumire
1   Chișinău
2   Bălți
3   Comrat
4   Tiraspol

SQL小提琴:http://sqlfiddle.com/#!3/e91d8/1/0