Question

I have table with two varchar columns first_name and last_name.

Now I need to convert these columns to nvarchar in order to support UTF-8.

I choose nvarchar datatype in SSMS for these columns and when I try to enter some UTF-8 data, my symbols converts to question marks. For example, if I input йцукен (Ukrainian) it will be converted to ??????.

What is the problem and how to fix it?

Thanks.

Was it helpful?

Solution

When you want to insert nvarchar literals into the database table, you must use the N'..' prefix.

So use

INSERT INTO dbo.YourTable(First_Name)
VALUES(N'йцукен')

so that this string will be treated as a unicode string

If you're not using the N'..' notation, you're really inserting a non-unicode string literal - and this will cause these conversions to ?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top