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