fputcsv и блокнот
Я генерирую CSV-файлы с помощью fputcsv, и он работает просто отлично, но при просмотре CSV-файла в Блокноте (Windows) новых строк нет. Все строки находятся всего в одной строке, и там, где предполагается разрыв строки, есть квадрат (поврежденный символ). Другие редакторы на Mac, например, показывают строки с разрывами правильно.
Есть ли способ решить эту проблему, поскольку CSV необходимо импортировать, и импортер также не видит разрывов строк.
3 ответа
Попробуйте использовать Notepad++, который обрабатывает \n
переводы строки правильнее.
Также посмотрите этот ответ Inn fputcsv
документация: http://lv.php.net/manual/en/function.fputcsv.php
http://bugs.php.net/bug.php?id=46367
Это известная и нефиксированная ошибка в PHP.
Пока они не исправят это, попробуйте использовать fwrite($fp, '"'.implode('","', str_replace('"', '""', $data_array)).'"'.PHP_EOL);
Положил \r\n
до конца каждой строки в вашем коде.
Другое Быстрое Исправление: Откройте ваш сгенерированный файл в WordPad, он должен показать их нормально, нажмите Cntr+S и теперь откройте в блокноте, он также должен показать хорошо.
Редактировать:
Основываясь на комментариях ниже, просто измените ваш код следующим образом:
$orders_newlines = array();
foreach($orders as $value)
{
$orders_newlines[] = $value . "\r\n";
}
Сейчас использую $orders_newlines
переменная вместо $orders
в вашей петле.
Надеюсь, это поможет.