J'ai une table avec deux colonnes varchar
last_name
et last_name
.
Maintenant, j'ai besoin de convertir ces colonnes en nvarchar
afin de supporter UTF-8.
Je choisis le nvarchar
données nvarchar
dans SSMS pour ces colonnes et quand j'essaie d'entrer des données UTF-8, mes symboles convertissent en points d'interrogation. Par exemple, si je saisis йцукен
(ukrainien), il sera converti en ??????
.
Quel est le problème et comment le réparer?
Merci.
Lorsque vous souhaitez insert des littéraux nvarchar
dans la table de database, vous devez utiliser le préfixe N'..'
.
Alors utilisez
INSERT INTO dbo.YourTable(First_Name) VALUES(N'йцукен')
pour que cette string soit traitée comme une string unicode
Si vous n'utilisez pas la notation N'..'
, vous insérez vraiment un littéral de string non-unicode – et cela provoquera ces conversions ?