fgetcsv () игнорирует специальные символы, когда они находятся в начале строки!

У меня есть простой скрипт, который принимает файл CSV и читает каждую строку в массив. Затем я перебираю каждый столбец первого ряда (в моем случае он содержит вопросы опроса) и распечатываю их. Опрос проводится на французском языке, и когда первым символом вопроса является специальный символ (é, ê, ç и т. Д.), Fgetcsv просто пропускает его.

Специальные символы в середине значения не затрагиваются, только когда они являются первым символом.

Я пытался отладить это, но я сбит с толку. Я сделал var_dump с содержимым файла, и символы определенно есть:

var_dump(utf8_encode(file_get_contents($_FILES['csv_file']['tmp_name'])));

И вот мой код:

if(file_exists($_FILES['csv_file']['tmp_name']) && $csv = fopen($_FILES['csv_file']['tmp_name'], "r"))
    {
        $csv_arr = array();

        //Populate an array with all the cells of the CSV file
        while(!feof($csv))
        {
            $csv_arr[] = fgetcsv($csv);
        }

        //Close the file, no longer needed
        fclose($csv);

        // This should cycle through the cells of the first row (questions)
        foreach($csv_arr[0] as $question)
        {
            echo utf8_encode($question) . "<br />";
        }

    }

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

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