Вощем, столкнулся с такой вот проблемой. Задача: Файл 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 использовать??
собственно ASCII описывает первые 128+1 символов. и в юникоде они абсолютно те же. а вот вторые 127 символов в однобайтной кодировке описываются локализованной кодовой страницей. иными словами конвертация ASCII->UTF8 не даст никакого результата. попробуйте явно указать в какой однобайтной кодировке хранится исходный текст.