在SQL Server 2016中处理中文字符

问题描述 投票:1回答:1

我们的ETL团队正在向我们发送一些中文描述的数据。当我们在SQL Server数据库中加载这些数据时,这些描述将显示为空白。我们尝试将列格式更改为nvarchar,但这没有用。

你能帮忙吗?

谢谢

sql etl chinese-locale
1个回答
0
投票

处理NVARCHAR时必须使用N前缀。

INSERT INTO table (column) VALUES (N'chinese characters')

使用字母N作为Unicode字符串常量的前缀,以指示UCS-2或UTF-16输入,具体取决于是否使用SC排序规则。如果没有N前缀,则字符串将转换为可能无法识别某些字符的数据库的默认代码页。从SQL Server 2019预览开始,当使用启用UTF-8的排序规则时,默认代码页能够存储UNICODE UTF-8字符集。

资料来源:https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql?view=sql-server-2017

© www.soinside.com 2019 - 2024. All rights reserved.