Comment insert des caractères grecs dans la table sqlserver

J'ai un insert simple, mais avec des caractères grecs

INSERT INTO tmp (fname) VALUES ('ΚΩΝΣΤΑΝΤΙΝΟΣ') 

J'ai essayé de créer la table de deux manières:

 create table tmp (fname varchar(40)) 

et

 create table tmp (fname nvarchar(40)) 

Quand je sélectionne datatables:

 select * from tmp 

Je reçois:

 ?O?S???????S 

J'utilise:

 Microsoft SQL Server 2005 - 9.00.4060.00 (Intel X86) Mar 17 2011 13:20:38 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2) 

et

 Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) Oct 19 2012 13:38:57 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) 

il fait la même chose dans les deux.

J'utilise:

 Microsoft SQL Server Management Studio 11.0.2100.60 

pour créer la table et insert datatables etc.

Comment puis-je stocker correctement les caractères grecs ou les stocker correctement pour les afficher correctement lorsque je les sélectionne?

Essayez d'utiliser la string de caractères Unicode de préfixe:

 create table tmp (fname nvarchar(40)) INSERT INTO tmp (fname) VALUES (N'ΚΩΝΣΤΑΝΤΙΝΟΣ') 

En outre, il peut y avoir un problème avec la collation des colonnes, s'il vous plaît définir

 create table tmp (fname nvarchar(40) COLLATE SQL_Latin1_General_CP1253_CI_AI) 

De MSDN :

Préfixe des constantes de string de caractères Unicode avec la lettre N. Sans le préfixe N, la string est convertie en page de codes par défaut de la database. Cette page de code par défaut peut ne pas reconnaître certains caractères.