Я пытаюсь загрузить кучу csv-файлов в базу данных. Разбор файлов и ввод данных - все отлично работает, за исключением некоторых кодировок файлов.Изменение кодировки файла csv в php
UTF-8
файлы работают нормально, и большинство файлов - это формат. Однако некоторые файлы находятся в ASCII
, и эти файлы не загружаются должным образом.
Есть ли способ проверить файл для его кодирования и преобразовать кодировку перед использованием данных? Я играл с mb_convert_encoding
и iconv
, но все они берут строку в качестве входных данных. скорее всего, проверит файл и конвертирует сразу с места в карьер, вместо того, чтобы проверять его по строкам, когда я беру данные.
спасибо.
'mb_detect_encoding()', но это не 100% надежным. получение неправильной кодировки источника, а затем выполнение преобразования, скорее всего, приведет к повреждению файла. –
Я пробовал это, и это не сработало. На самом деле ничего, что я пробовал, не работал, даже преобразования строк. – eignhpants
Не могли бы вы привести пример файла «ASCII», который не загружается правильно? Для ASCII практически невозможно правильно загрузить нагрузку, особенно если UTF-8 загружается должным образом. Это может быть файл CP-1252, [который я написал длинный ответ здесь] (http://stackoverflow.com/questions/22683132/php-cp1252-windows-1252-conversion-to-utf-8/23250083# 23250083). – NobleUplift