2010年5月5日

phpMyAdmin 匯出中文資料成 utf-8 編碼的 .csv 格式之注意事項

今天測試了從 phpMyAdmin 介面將 MySQL DB 中的中文資料匯出成 .csv 檔,原本想說既然中文資料可以正確以 utf-8 編碼存入 MySQL,在 phpMyAdmin 的網頁介面上也可以正常顯示,之前匯出成 .sql 檔也沒有亂碼問題,那匯出 .csv 這種純文字格式應該更沒有問題吧?誰知道匯出成功後用 Excel 打開卻是下面這個樣子:
phpMyAdmin_Export_Before_ExcelView
但是用 Notepad++ 這個超好用超強的免費軟體來看卻是正常的:
phpMyAdmin_Export_Before_Notepad  View
後來我發現,從 Notepad++ 中可以看出,phpMyAdmin 匯出的 utf-8 編碼文件是「檔首無BOM」的格式:
phpMyAdmin_Export_Before_Notepad  DefaultSetting
只要利用 Notepad++ 把整份文件重新編碼為 utf-8 格式後存檔:
phpMyAdmin_Export_Before_Notepad  NewSetting
再用 Excel 打開,就不會有亂碼問題了:
phpMyAdmin_Export_After_ExcelView
補充:phpMyAdmin 的 export 設定可參考下圖:
phpMyAdmin_Export
有勾選「將欄位名稱放在首行」,匯出的文件才會含有標題列,比較清楚易讀。

1 則留言:

坎尼 提到...

黑暗大有一系列 BOM 和 csv 中文亂碼的文章,有興趣的讀者也可以參考看看
http://blog.darkthread.net/blogs/darkthreadtw/search.aspx?q=BOM

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D