我有一个包含员工列表的 CSV 文件,其中一些员工的名字中包含德文字符,例如“ö”。我需要在我的 SQL Server 2017 脚本中创建一个临时表,并用 CSV 文件的内容填充它。我的脚本是:
CREATE TABLE #AllAdUsers(
[PhysicalDeliveryOfficeName] [NVARCHAR](255) NULL,
[Name] [NVARCHAR](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DisplayName] [NVARCHAR](255) NULL,
[Company] [NVARCHAR](255) NULL,
[SAMAccountName] [NVARCHAR](255) NULL
)
--import AD users
BULK INSERT #AllAdUsers
FROM 'C:\Employees.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
TABLOCK
)
然而,即使我使用“Nvarchar”变量类型和“SQL_Latin1_General_CP1_CI”的排序规则,德语字符似乎也不行,例如“Kösker”看起来像:
"K├╢sker"
我已经尝试了许多其他排序规则,但找不到解决方法。非常感谢任何帮助。
首先,使用 Notepad++ 将源 CSV 文件的 Encoding 转换为 UTF-8,然后再次尝试导入它。
对我有用。