За последние 24 часа нас посетили 18796 программистов и 1702 робота. Сейчас ищут 819 программистов ...

CSV проблема с конвертированием ASCCI to UTF8

Тема в разделе "Прочие вопросы по PHP", создана пользователем holy_androny, 2 май 2013.

  1. holy_androny

    holy_androny Новичок

    С нами с:
    2 май 2013
    Сообщения:
    1
    Симпатии:
    0
    Вощем, столкнулся с такой вот проблемой.
    Задача: Файл CSV распарсить и записать в базу.
    Файл находится удалённо. По ссылки получаю контент. Файл в формате ASCII. Разделитель - табуляция.
    Проблема:
    Функция str_getcsv, не видит разделитель, в итоге всё грузися в один элемент массива.
    Методом подбора и исключения, выявилось что проблема в кодировке.
    Сохронил локально файл, переконвертировал в UTF-8 (через Notepad++) - всё отлично распарлисло. Сделал вывод что дело в кодирвке.
    Дале стал пробывать конвертировать строки функциями $str2 = iconv("ASCII", "UTF-8",$csv_str); и $str2 = mb_convert_encoding($csv_str, "utf8");
    ничё не выходит - mb_detect_encoding($str2) выдаёт всё тотже ASCII. Я уже незнаю, как быть. Может кто подскажет. Каким методом я могу распарсить ASCII формат CSV? Может не нужно кодировать? Можно както прямо ASCII использовать??
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    собственно ASCII описывает первые 128+1 символов. и в юникоде они абсолютно те же. а вот вторые 127 символов в однобайтной кодировке описываются локализованной кодовой страницей. иными словами конвертация ASCII->UTF8 не даст никакого результата. попробуйте явно указать в какой однобайтной кодировке хранится исходный текст.