fputcsv и коды новой строки

Я использую fputcsv в PHP для вывода файла запроса базы данных, разделенного запятыми. При открытии файла в gedit в Ubuntu это выглядит правильно - у каждой записи есть разрыв строки (нет видимых символов разрыва строки, но вы можете сказать, что каждая запись отделена, а открытие ее в электронной таблице OpenOffice позволяет мне правильно просматривать файл.)

Однако мы отправляем эти файлы клиенту в Windows, и в их системах этот файл представляет собой одну большую длинную строку. Открыв его в Excel, он вообще не распознает несколько строк.

Я прочитал несколько вопросов здесь, которые очень похожи, в том числеэтот, который включает в себя ссылку на действительно информативныйВеликий Раскол Новой Линии объяснение.

К сожалению, мы не можем просто сказать нашим клиентам открывать файлы в «умном» редакторе. Они должны иметь возможность открывать их в Excel. Есть ли программный способ обеспечить добавление правильных символов новой строки, чтобы файл можно было открыть в программе для работы с электронными таблицами в любой ОС?

Я уже использую пользовательскую функцию для наложения кавычек вокруг всех значений, так как fputcsv избирательно относится к этому. Я пытался сделать что-то вроде этого:

function my_fputcsv($handle, $fieldsarray, $delimiter = "~", $enclosure ='"'){

        $glue = $enclosure . $delimiter . $enclosure;

    return fwrite($handle, $enclosure . implode($glue,$fieldsarray) . $enclosure."\r\n");

}

Но когда файл открывается в текстовом редакторе Windows, он все равно отображается в виде одной длинной строки.

Ответы на вопрос(8)

Ваш ответ на вопрос