下のコードを使って、csvファイルを生成しています。
lang
1$file = file("test.csv"); 2header('Content-type: text/csv'); 3header('Content-Disposition: attachment; filename="'.date("Ymdhis").'.csv"'); 4foreach($contents as $content){ 5 print $file; 6}
$file変数は、コンマで区切られて“\n”で閉じられている新しい行を生成する行を含んでいます。
csvでファイルを開いてみたときは問題ないのですが、ファイルを使用して外部プログラムへインポートしようとすると、行の終わりの文字(\n)が認識されず、一文の長いテキストとみなされます。
ファイルのコンテンツをメモ帳で見てみると、行の終わりの文字(\n)が、文字コード0x7Fのような小さな長方形になっています。
再びファイルを開いてエクセルで保存した場合は、その文字が取り除かれて前の行の行末文字で置き換えられるのでインポートできます。
PHPでどの文字を生成すれば、メモ帳が有意な行末文字として認識してくれますか? (\n)は明らかに機能していません……。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/30 01:37
2014/09/30 02:30