Ukrainian character change to question mark when i

2020-02-15 03:38发布

I have a file saved as Unicode text containing Ukrainian characters, and it got loaded successfully to staging table using SSIS.

Like this:

"Колодки тормозные дисковые, комплект"
Колодки тормозные
"Колодки тормозные дисковые, комплект"
This is Test

But when I am moving it to other table it changes to:

"??????? ????????? ????????, ????????"
??????? ?????????
"??????? ????????? ????????, ????????"
This is Test

The query I used:

insert into finaltable
(
column1
)

select column1 from staging table.

Collation: Latin1_General_CI_AS

How can I rectify this error?

2条回答
闹够了就滚
2楼-- · 2020-02-15 04:05

Use nvarchar in your table and when you type your strings in the insert statement put N in front, like N'your string'. Also consider changing your collation due to sorting issues, refer to this question.

查看更多
【Aperson】
3楼-- · 2020-02-15 04:09

Here you can see the deference between VARCHAR and NVARCHAR datatypes:

DECLARE @Non_Unicode_Var VARCHAR (MAX) = 'Колодки тормозные дисковые, комплект';
DECLARE @Unicode_Var NVARCHAR (MAX) = N'Колодки тормозные дисковые, комплект';

SELECT @Non_Unicode_Var AS NonUnicodeColumn, @Unicode_Var AS UnicodeColumn;

Result:

+--------------------------------------+--------------------------------------+
|           NonUnicodeColumn           |            UnicodeColumn             |
+--------------------------------------+--------------------------------------+
| ??????? ????????? ????????, ???????? | Колодки тормозные дисковые, комплект |
+--------------------------------------+--------------------------------------+

So, you need to change the data type to NVARCHAR data type, then insert your data into the table.

查看更多
登录 后发表回答