作者jijikoko (jijikoko)
看板PHP
标题[请益] 关於写档案的问题
时间Wed Mar 14 19:29:47 2007
想要把网页上所有的input写进档案.csv
每次输入都汇写入档案的最後面
每笔资料都已"\n"隔开
程式码大致如下:
if($submit)
{
$fptr=fopen('test.csv', 'w');
fseek($fptr, 0, SEEK_END);
fputs($fptr, $name);
fputs($fptr, ",");
fputs($fptr, $phone);
fputs($fptr, "\n");
fclose($fptr);
}
可是每次按下submit的按钮时,只会剩下最後一次输入的资料
我已经用fseek将档案指标放到最後了
为什麽还是重写档案
另外,输出的档案所有中文文字都变成了乱码
要如还才能改成可以正确输出中文字
还是有办法可以用excel或是其他编辑器看到正确的中文字
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.21.98
1F:推 shingoliang:$fptr=fopen('test.csv', 'a(a+)'); 03/14 19:35
2F:→ shingoliang:a或a+,a+可读取,下一行移指标就不需要了! 03/14 19:36
3F:推 jijikoko:感谢楼上,第一个问题已解决,卸卸 03/14 19:44
4F:推 shingoliang:乱码大概是因为冲码字的关系吧,假设你在写入的时候 03/14 20:01
5F:→ shingoliang:apache有个函数有开启会自动帮你把冲码加\,或者你自 03/14 20:03
6F:→ shingoliang:己加的,那麽,在读出的时候,必须把\去掉再output! 03/14 20:03
7F:→ shingoliang:stripslashes();应该是吧,没记错的话@@" 03/14 20:04
8F:→ shingoliang:阿,没看清楚你是输出的档案变成乱码= =我觉得是冲码 03/14 20:05
9F:→ shingoliang:字啦,自己加addslashes("$content"); 03/14 20:05
10F:推 chhuang:输出到 CSV 最好用 iconv 或 mb_conver 转 Big5 语系... 03/14 21:47
11F:→ chhuang:Excel 打开的时候才不会出现乱码 ...如果是 UTF-8 输出 03/14 21:51
12F:→ chhuang:Excel 汇入的时候自己指定 UTF-8 打开才不会出错... 03/14 21:52