天天看點

sql server 導入漢字亂碼問題解決

任務

通過查詢語句從csv檔案導入資料,英文(ASCII碼内)可顯示成功,但中文或報錯無法導入,或導入後顯示為亂碼,系統中沒有以UNICODE格式另存為檔案。

報錯類型:

  1. 不顯式說明

    DATAFILETYPE

    ,預設為char

    消息 4863,級别 16,狀态 1,第 117 行

    第 1 行、第 1 列(name)出現大容量加載資料轉換錯誤(截斷)。

  2. DATAFILETYPE = 'widechar'

    消息 4832,級别 16,狀态 1,第 117 行

    大容量加載: 在資料檔案中遇到意外的檔案結尾。

    消息 7399,級别 16,狀态 1,第 117 行

    連結伺服器 “(null)” 的 OLE DB 通路接口 “BULK” 報錯。提供程式未給出有關錯誤的任何資訊。

    消息 7330,級别 16,狀态 2,第 117 行

    無法從連結伺服器 “(null)” 的 OLE DB 通路接口"BULK"提取行。

根據導入說明的步驟,應以UNICODE格式存檔案,但并未找到該方式。

經過沒有希望的挨個測試,最終發現以UTF-16格式儲存即可導入成功。

sql server 導入漢字亂碼問題解決
sql server 導入漢字亂碼問題解決
sql server 導入漢字亂碼問題解決

總結

檔案可直接導入UTF-16格式檔案,則追本溯源,在生成檔案的python代碼中,将編碼格式修正,則打開檔案顯示正确,也可直接導入資料庫。

繼續閱讀