作者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