2017-04-04 92 views
2

的SQL Server 2016導入和導出嚮導使用SQL Server導入嚮導導致怪異字符

源導入數據的平面文件(.txt):

enter image description here

enter image description here

請注意第3欄中的數據:應該爲法蘭西島

+0

如何定義列?他們varchar而不是nvarchar?並且該文本文件是一個unicode文件? – GuidoG

+0

不知道:我應該在哪裏看到或更改列數據類型定義? – Luke

+0

我從來沒有使用導入嚮導,所以我不知道。但是你的問題似乎與unicode相關。文本文件是unicode文件嗎?你可以檢查,當在記事本中打開。如果是這樣,您還可以將嚮導中的設置修改爲unicode – GuidoG

回答

0

這是在UTF8編碼導入製表符分隔文本的正確步驟。

而不是檢查「統一」在嚮導的冷杉頁,(這是相當混亂,因爲UTF-8「是」的Unicode),不要選擇它,然後選擇代碼頁65001

enter image description here

現在字符正在正確可視化:

enter image description here

0

這是Unicode錯誤,y字不能正確顯示。轉到高級選項卡,選擇您的第三列,如圖1所示: enter image description here

選擇數據類型字符串「文本流[DT_TEXT]」,如果「文本流[DT_TEXT]」不會工作,那麼請嘗試與其他數據類型也。 REF此圖:

enter image description here

+0

有四種文本數據類型可供選擇:字符串(DT_STR),文本流(DT_TEXT),Unicode字符串(DT_WSTR)和Unicode文本流(DT_NTEXT)。不幸的是,他們都沒有解決問題。 源文件數據格式是以utf8編碼製表符分隔的文本。 – Luke

+0

你能否再次檢查你的輸入文本文件..可能是你的文本文件中的問題。 –

+0

這只是來自geonames.org的許多其他文件的示例。他們都顯示與MS SQL Server導入嚮導相同的「問題」。它們都是使用utf8編碼的製表符分隔的文本,我可以正確地讀取它們任何平面文件閱讀器(例如Notepad ++),問題似乎在MS SQL Server導入嚮導中無法正確解釋它們。現在,我知道MS SQL服務器可能不是最好的導入工具,但它是免費的。任何人都可以建議我一個自由的選擇? – Luke

相關問題