2
我想批量插入一个UTF-8 CSV文件,我从Google Drive下载该类型的文件,因为Excel没有正确保存我的CSV。SQL Server批量插入UTF-8 CSV文件无法正常工作
我打开谷歌驱动器生成的CSV文件中的记事本+ +和去View > Show Symbol > Show All Characters
,我可以看到它包含的行终止(纠正我,如果我错了这里)
所以,我想下面的LF
换行符我在临时表中没有任何记录。这适用于其他使用默认行终止符的非UTF-8的CSV文件(即,当您未指定时为'\ r \ n')。
我也试过'\ t','\ r \ n','\ r'&'\ 0',对于行终止符以及有和没有数据文件类型..似乎没有任何工作?这是关于我在临时表中的字段类型吗?或者是其他东西?
CREATE TABLE #TEMPResourceContents (
[ResourceName] [nvarchar](250) NOT NULL,
[Language] [nvarchar](250) NOT NULL,
[Content] [nvarchar](max) NOT NULL
)
GO
BULK INSERT #TEMPResourceContents
FROM 'C:\import-resources.csv'
WITH
(FIRSTROW = 2, DATAFILETYPE = 'widechar', FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
GO
SELECT * FROM #TEMPResourceContents
AH确定,所以widechar很可能是UTF-16,所以我的文件必须是UTF-16而不是UTF-8 :(从第二连杆的声音。我会尝试一下,看看它是否与我的文本混淆。 – Pricey
yup。按照第二个链接讨论它应该是工作。试试吧。 – Sutirth
我打开我的.xls文件并去'save as'并选择文件'Unicode Text(* .txt)'的类型,然后改变批量插入来使用该字段终结符为''\ t''的文本文件,这样就解决了我的问题,导入的中文字符没有正确导入。 POIN给我正确的方向。 – Pricey