作者vic1225 (/* I'm not worth */)
看板PHP
標題[請益] 匯出execl檔
時間Mon Nov 15 19:33:35 2010
我用 fput 方式把資料寫到excel檔中
不過輸出後中文字幕變成亂碼
我DataBase是用utf-8
也在該頁面 fkd.php 中標頭地方有注記utf-8
不過匯到excel檔時會是亂碼
請問怎麼解決呢?
謝謝!
我把它改成
for($k = 0; $k < $i; $k++){
fputs($f, pack("CCC", 0xef,0xbb,0xbf));
fputs($f, $list[$k]);
}
的確解決了編碼問題
不過匯到EXCEL檔後 \t變成不會跳到下一欄位
也就是說 所以所有欄位都變成同一個欄位
是pack()參數問題嗎?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.168
※ 編輯: vic1225 來自: 140.112.31.168 (11/15 20:10)
1F:→ Kelunyang:Excel吃UTF-8,但是要加BOM 11/15 22:56
2F:→ Kelunyang:也就是說要加這個 "\xEF\xBB\xBF" 11/15 23:13
3F:→ benck:意思是要先fwrite上面的字元進去 11/16 09:26
4F:→ vic1225:我是用WHILE(...){FPUT($F, ARRAY[$i++]);} 11/16 12:52
5F:→ vic1225:ARRAY 是類似 "ID\tpass\t...\n"這種方式 11/16 12:53
6F:→ vic1225:所以我是要在這前面 加上一行fwrite($F, "\xEF\xBB\xBF") 11/16 12:53
7F:→ vic1225:這樣嗎? 非常謝謝!! 11/16 12:54
※ 編輯: vic1225 來自: 140.112.31.168 (11/16 13:11)
8F:→ vic1225:解決了 我把"\t"改成","就OK了 謝謝大家!!!!! 11/16 13:14
9F:推 Kelunyang:雖然解決了,還是要提醒一下,BOM是加在檔案開始的地方 11/16 14:36
10F:→ vic1225:恩恩 謝謝樓上~! 11/16 17:17