6/14/2016

星期二, 6月 14, 2016

主要參考

1. 除了 header 的下法,其中還有亂碼產生的原因,以及加入BOM的方式說明
http://chiahan.logdown.com/posts/280868/web-php-export-csv-chinese-encoding-problem

2. 加入BOM的寫法,在 header 之後用 echo 加入 "\xEF\xBB\xBF"
http://stackoverflow.com/questions/4348802/how-can-i-output-a-utf-8-csv-in-php-that-excel-will-read-properly

相關參考


心得

  1. 原來使用 iconv() 方式來將 utf8 轉 big5 編碼,在資料庫輸出資料時,如果遇到 big5 無法編碼的文字,會略過該筆資料 (對,是略過喔,很可怕!)。
  2. 如果使用 mb_convert_encoding() 來轉碼,遇到 big5 無法編碼的文字會以「?」來顯示。
  3. 根據 http://chiahan.logdown.com/posts/280868/web-php-export-csv-chinese-encoding-problem 一文的內容,程式中就不用 iconv() 或 mb_convert_encoding() 來轉碼,直接在文件前加入 BOM 來宣告編碼方式,如此一來輸出的 CSV 檔在 Excel 或記事本中開啟都會是正常的。
  4. XLS 檔雖然也可以輸出,但用 Excel 開啟時反而會有警告視窗,說格式不符,不如使用 CSV 檔較為方便。

前一則
這是最新的文章.
較舊的文章

0 意見 :

張貼留言