Я пытаюсь прочитать csv-файл, закодированный с помощью ISO-8859-1, с помощью этого кода
function file_get_contents_utf8($fn) {
$content = file_get_contents($fn);
return mb_convert_encoding($content, 'UTF-8',
mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true));
}
$csvData = file_get_contents_utf8("./example_files/file.csv") or die("Failed to load");
print_r($csvData);
Попробовав x раз с различными функциями, такими как iconv et c, и всегда получаю тот же результат с выводом, содержащим � вместо æ / ø / å, я попытался запустить код на компьютере моего коллеги и на сервере, и оба работали отлично, возвращая правильные символы.
Итак, мой вопрос, каковы некоторые причины этого может не работать на моем компьютере?
EDIT
Я и мой коллега используем ma c. Сервер убунту. Csv-файл отображает символы правильно с кодировкой windows1252 в возвышенном, но не с кодировкой windows1252 в vscode.
$ LC_CTYPE выводит UTF-8
шестнадцатеричный дамп: https://pastebin.com/9BBjkCKh