2012年3月10日 星期六

用 MySQL LOAD DATA 後的資料 開頭會出現問號

用Notepad++開啟欲匯入的檔案

上方工具列>編碼>

1. 轉換至 UTF-8 碼(檔首無 BOM)
2. 轉換至 UTF-8 碼

若是選擇1,一切正常
若是選擇2,匯入後,資料的開頭會出現問號

延伸閱讀:

UTF-8 的 BOM 地雷
http://repeat.tw/blog/post/24167999-utf-8-%E7%9A%84-bom-%E5%9C%B0%E9%9B%B7

位元組順序記號(英語:byte-order mark,BOM)
http://zh.wikipedia.org/wiki/%E4%BD%8D%E5%85%83%E7%B5%84%E9%A0%86%E5%BA%8F%E8%A8%98%E8%99%9F
許多視窗程式(包含記事本)會添加位元組順序記號到UTF-8檔案。然而,在類Unix系統系統(大量使用文本文件,用於檔案格式,用於行程間通訊)中,這種作法則不被建議採用。因為它會妨礙到如解譯器腳本開頭的Shebang等的一些重要的碼的正確處理。它亦會影響到無法識別它的程式語言。如gcc...。而在PHP中,...

http://bugs.mysql.com/bug.php?id=10573
MySQL官方認為這不是Bug

http://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html
MySQL uses no BOM for UTF-8 values.

沒有留言:

張貼留言