Как преобразовать кодировку csv?

Пытаюсь делать импорт из csv-файла. Если кодировка у csv отличается от utf-8, к примеру равна windows-1251, то выводятся кракозябры

if (($handle = fopen($_FILES['file']['tmp_name'], "r")) !== FALSE) {
    $row = 0;
    while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
        $num = count($data);
        for ($c = 0; $c < $num; $c++) {
            $item = trim($data[$c]);
            echo $item . ' ' . mb_detect_encoding($item);
            //здесь если в $item латиница, то выводится `ASCII`,
            //а если кириллица, то выводится `UTF-8` но вместо символов кракозябры(квадратик с вопросом)

если в начале файла добавить эту строчку header('Content-Type: text/html; charset=WINDOWS-1251');
то кракозябр нет из csv-файла в переменной $item, но появляются кракозябры в админке, там где был русский текст.
Как это можно настроить, чтобы и в админке и в csv была кириллица?

P.S.

            $item = utf8_encode($item);
            $item = mb_convert_encoding($item, 'utf-8', mb_detect_encoding($item));
            $item = iconv("WINDOWS-1251", "utf-8", $item);

использовал по очереди эти варианты конвертации, кракозябры остались


Ответы (0 шт):