想將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匯入會出現錯誤訊息哦。
終於不會出錯了,再次感謝大家的幫忙!!!
用反推法試試看
用MySQL Workbench裡的Table Data Export
Wizard功能
把 table 資料匯出成一個 csv 檔案
用 Notepad++ 去看該 csv 檔案是什麼(編碼 Y)
然後想辦法把要匯入的 csv 檔(編碼 X)
把 X 轉成 Y
再試試匯入看看
開Notepad++新增空白文件(UTF-8)→另外打開csv檔(用記事本打開)→複製貼到Notepad++開的空白文件儲存→再匯入MySQL
薛丁格理論XD...
https://ithelp.ithome.com.tw/questions/10206776
更新~
你可以測試先1~2筆匯入~會不會錯誤~若有錯誤~
1.那你可以將要匯入的資料庫~匯出資料庫裡的資料~再將匯出資料庫裡的資料~再反匯一次給資料庫看是否正常~
2.那如果正常就將csv的資料貼到該匯出的檔案,匯入試看看~若有問題~那麼應該是你匯入的某個文字編碼~該表格編碼無法接受~你要再確認該欄位類型到底是什麼@@"