看板 PHP 關於我們 聯絡資訊
我用 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)
Kelunyang:Excel吃UTF-8,但是要加BOM 11/15 22:56
Kelunyang:也就是說要加這個 "\xEF\xBB\xBF" 11/15 23:13
benck:意思是要先fwrite上面的字元進去 11/16 09:26
vic1225:我是用WHILE(...){FPUT($F, ARRAY[$i++]);} 11/16 12:52
vic1225:ARRAY 是類似 "ID\tpass\t...\n"這種方式 11/16 12:53
vic1225:所以我是要在這前面 加上一行fwrite($F, "\xEF\xBB\xBF") 11/16 12:53
vic1225:這樣嗎? 非常謝謝!! 11/16 12:54
※ 編輯: vic1225 來自: 140.112.31.168 (11/16 13:11)
vic1225:解決了 我把"\t"改成","就OK了 謝謝大家!!!!! 11/16 13:14
Kelunyang:雖然解決了,還是要提醒一下,BOM是加在檔案開始的地方 11/16 14:36
vic1225:恩恩 謝謝樓上~! 11/16 17:17