iT邦幫忙

0

[已解決]急!!! csv匯入MySQL Workbench 出現錯誤訊息請問如何解決

YC 2022-01-04 14:25:107172 瀏覽
  • 分享至 

  • xImage

想將excel檔匯入MySQL裡以表格的型態展現,但是過程不怎麼順利,一直無法解決,懇請大家幫忙,以下是我的過程步驟。
將xlsx檔轉成CSV檔(有中文字)後再用記事本改編碼方式utf-8,之後用MySQL Workbench裡的Table Data Import Wizard功能選擇檔案後按next出現此錯誤unhandled exception: 'cp950' codec can't decode byte 0xe7 in position 0: illegal multibyte sequence
請問該怎麼解決?謝謝!

感謝Finn0904,因為我目前不能使用回覆功能,故在此回答,我有使用過Notepad++改成UTF-8,但是轉出來的文字會變成亂碼
p.s.後來發現不是Notepad++轉出亂碼,而是匯入MySQL Workbench失敗之後文字會自動變成亂碼

感謝純真的人,我照著你的方法(薛丁格理論)做一樣會出現unhandled exception: 'cp950' codec can't decode byte 0xe7 in position 0: illegal multibyte sequence這樣的錯誤訊息QQ
已解決,感謝!!

感謝CalvinKuo,讓我知道了新的知識,但是excel的資料沒有使用表情符號,只有英文+數字+中文,以及/跟( ),不使用utf8mb4 應該也沒關係

感謝海綿寶寶,我用你的方法先建資料表後匯出CSV檔再使用記事本查看編碼發現是ANSI,且每個欄位及資料都被" "包覆,之後測試反匯,匯入成功。

感謝planetoid ,學習到新知識了,資料表的編碼分別是utf8mb3 以及utf8_general_ci

結論(更正): 編碼方式是ANSI的CSV檔可以匯入成功,使用utf-8匯入會出現錯誤訊息哦。
終於不會出錯了,再次感謝大家的幫忙!!!

看更多先前的討論...收起先前的討論...
CalvinKuo iT邦大師 7 級 ‧ 2022-01-04 16:51:11 檢舉
我猜是資料庫不是 utf8mb4 編碼。
https://www.cadch.com/modules/news/article.php?storyid=198
恩~只能看哪位大師有解~
你單筆試試看
喔~缺用雙引號包夾的文字型態用法~
planetoid iT邦新手 1 級 ‧ 2022-01-05 16:04:37 檢舉
如果欄位值內有換行,CSV 才需要用雙引號框起來。請問你資料表的編碼是什麼?

USE <資料庫名稱>;
SELECT @@character_set_database, @@collation_database;
我也遇到一樣的問題, 解法同樣是先把匯出檔案轉成ANSI 編碼, 才能正確匯入.
查看hex檔, 確認匯出的中文字是UTF8編碼, 但匯入時, MySQL的 cp950 codec 報錯, 必須先轉成ANSI編碼, 才能進入 column 對應選單, 完成匯入.
看起來應該是MySQL codec 的鍋.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
海綿寶寶
iT邦大神 1 級 ‧ 2022-01-05 08:47:14
最佳解答

用反推法試試看

用MySQL Workbench裡的Table Data Export Wizard功能
把 table 資料匯出成一個 csv 檔案
用 Notepad++ 去看該 csv 檔案是什麼(編碼 Y)

然後想辦法把要匯入的 csv 檔(編碼 X)
把 X 轉成 Y
再試試匯入看看

1
Finn0904
iT邦新手 5 級 ‧ 2022-01-04 14:52:47

編碼問題
試試用notepad++把CSV內容編碼轉成UTF-8看看

1
純真的人
iT邦大師 1 級 ‧ 2022-01-04 15:17:27

開Notepad++新增空白文件(UTF-8)→另外打開csv檔(用記事本打開)→複製貼到Notepad++開的空白文件儲存→再匯入MySQL

薛丁格理論XD...
https://ithelp.ithome.com.tw/questions/10206776


更新~
你可以測試先1~2筆匯入~會不會錯誤~若有錯誤~
1.那你可以將要匯入的資料庫~匯出資料庫裡的資料~再將匯出資料庫裡的資料~再反匯一次給資料庫看是否正常~
2.那如果正常就將csv的資料貼到該匯出的檔案,匯入試看看~若有問題~那麼應該是你匯入的某個文字編碼~該表格編碼無法接受~你要再確認該欄位類型到底是什麼@@"

我要發表回答

立即登入回答