У меня огромный csv со списком имен и дат. Мне нужно поместить подмножество из них в структуру PHP для данного месяца. Итак, я просматриваю CSV и фильтрую те строки, где месяцы - это то, что я хотел, отправить имена в список, а затем сохранить этот список в файл с помощью json_encode.
Я делаю это один раз в месяц, в общей сложности 12 раз, поскольку мне нужен только один год.
Я прошел месяцы с 1 по 7 без проблем. Сейчас 8 месяц проваливается. Список создается, но ничего не сохраняется из-за сбоя json_encode.
Вызов json_last_error_msg () выдает сообщение «Неверные символы UTF-8».
Я прочитал CSV, выполнив
if (($handle = fopen($in_csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$line++;
$data = array_map("utf8_encode", $data); // <- This was added after the first failure. But I have tried without it
// ... do stuff with data and save the name and last name to a struct.
}
fclose($handle);
}
// At the end I do
$fid = fopen("filename","w");
fwrite($fid,json_encode($output));
echo "JSON ENCODE RESULT: " . json_last_error_msg() . "\n";
fclose($fid);
Мне это действительно нужно для работы. Есть ли ЛЮБОЙ способ, которым JSON может сказать мне, что ему не нравится, чтобы я мог удалить или исправить это?