[請益] 匯出execl檔

看板PHP作者 (/* I'm not worth */)時間13年前 (2010/11/15 19:33), 編輯推噓1(109)
留言10則, 3人參與, 最新討論串1/1
我用 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)

11/15 22:56, , 1F
Excel吃UTF-8,但是要加BOM
11/15 22:56, 1F

11/15 23:13, , 2F
也就是說要加這個 "\xEF\xBB\xBF"
11/15 23:13, 2F

11/16 09:26, , 3F
意思是要先fwrite上面的字元進去
11/16 09:26, 3F

11/16 12:52, , 4F
我是用WHILE(...){FPUT($F, ARRAY[$i++]);}
11/16 12:52, 4F

11/16 12:53, , 5F
ARRAY 是類似 "ID\tpass\t...\n"這種方式
11/16 12:53, 5F

11/16 12:53, , 6F
所以我是要在這前面 加上一行fwrite($F, "\xEF\xBB\xBF")
11/16 12:53, 6F

11/16 12:54, , 7F
這樣嗎? 非常謝謝!!
11/16 12:54, 7F
※ 編輯: vic1225 來自: 140.112.31.168 (11/16 13:11)

11/16 13:14, , 8F
解決了 我把"\t"改成","就OK了 謝謝大家!!!!!
11/16 13:14, 8F

11/16 14:36, , 9F
雖然解決了,還是要提醒一下,BOM是加在檔案開始的地方
11/16 14:36, 9F

11/16 17:17, , 10F
恩恩 謝謝樓上~!
11/16 17:17, 10F
文章代碼(AID): #1CuHgIDk (PHP)