2013-09-25 88 views
0

我將SQL Server Management Studio 2008 R2中的10個字符從文本UTF-8文件插入到單列中。BULK INSERT無法正常工作

但是,單詞沒有正確顯示,我在一些單詞前面獲得了額外的空間。

注意:到目前爲止,沒有任何答案能解決我的問題。 :(

SCREENSHOT OF THE PROBLEM

+0

在最壞的情況只是修剪的結果,如果你的數據的完整性似乎比其它附加空間罰款等。 – plalx

+0

什麼是您的文本文件的編碼? – Szymon

+0

@Szymon UTF-8,檢查問題中的鏈接,你會發現所有的信息。 –

回答

0

看看這個帖子How to write UTF-8 characters using bulk insert in SQL Server?

報價:你不能你應該先用N型數據字段,轉換 將文件轉換爲UTF-16,然後導入它。該數據庫不支持 UTF-8。

最初的答案

看您選擇的文本文件的編碼。應該是utf8。如果不是這可能會導致問題。

用記事本打開,文件 - >另存爲,選擇編碼

在此之後嘗試導入作爲散裝

其次,確保列數據類型類型爲nvarchar,而不是VARCHAR。另請參閱here

+0

檢查截圖,它已經是UTF-8,並且不能正常工作。 –

+0

a並將columnn數據類型設置爲nvarchar而不是varchar – lordkain

+0

@Iordkain [單擊此處查看屏幕截圖。它已經是。](http://i.stack.imgur.com/4Yueb.png) –

0

您也可以嘗試使用不同的行終止:

bulk insert table_name 
from 'filename.txt' WITH (ROWTERMINATOR='\n') 
+0

也嘗試過,仍然無法正常工作。 –

+0

你也可以嘗試不同的'DATAFILETYPE'和'CODEPAGE'選項,如下所述:http://technet.microsoft.com/en-us/library/ms188365(v=sql.100).aspx – Szymon