У меня стоит задача из базы с большим количеством записей, имеющих одно лишь поле составить файл .csv, просто одним столбцом. Задача вроде проста, но проблема в том, что большое количество записей не сохраняется. Проанализировав, я выяснил, что к этому числу относятся записи с пробелом, довольно логично, но как это переоформить сообразить не могу. Возможно и по другому критерию тоже не проходят. Записи сами по себе - строки, в которых могут содержать пробелы и некоторые символы: кодировка utf8_general_ci, тип varchar. Вот основные строчки кода: Код (Text): $query = "SELECT word FROM `second"; $result = mysqli_query($db, $query); while ($row = mysqli_fetch_assoc($result)) { $st = preg_replace ("/[^a-zA-ZА-Яа-я\s]/","",$row["word"]); $csv_file .= '"'.$st."\r\n"; } Функция обработки строки (replace) особо не причем, хотя могу ошибаться, но без неё все равно половину записей съедается. Код (Text): $file_name = 'export.csv'; $file = fopen($file_name,"w"); fwrite($file,trim($csv_file)); fclose($file); вот так сохраняется, возможно здесь что то не так. Прошу помочь с этим вопросом, заранее благодарен за помощь. P.S. Знаю, что задавать второй вопрос в одной теме не стоит, но этот вопрос не сильно в приоритете и не хочется флудить, поэтому все же если кто-то знает какую нибудь функцию или библиотеку, чтобы при выборке записей и заменить, например, ' на апострофы и подобное, то также буду благодарен за информацию.
Да, но я на локале делаю. --- Добавлено --- Спасибо. Насчет \s, что это? У меня тут только \r и \n, без которых по идеи вообще не будет работать.
В общем я ещё проследил, может кто догадается в чем проблема, думаю для тех, кто знаком с подобным, задача должна быть проста и логичина. Получается все следующим образом: допустим есть записи note, note bene, notabilia. И почему то получается так что все они находятся в одной ячейке через перенос строки: nota bene notabilia Вот таким странным образом. Ещё есть запись a и a capella. И они тоже почему то в одну ячейку попадают a a capella Не могу понять в чем тут связь. Естественно в результате должны получиться 1 строка 1 записаь --- Добавлено --- В общем получается, что слова, которые одинаково начинаются заносятся в одну ячейку --- Добавлено --- Причем в абсолютно каждой ячейке по 2 записи.