@andrey_levushkin

Какая кодировка должна быть у CSV файла для корректного чтения через php?

После загрузки CSV файла на сервер и попытке вывести его содержимое - испытываю проблемы с кодировкой и вижу "крякозяблы".
В дальнейшем требуется работа с этими данными.
Какую кодировку нужно указывать у csv файла перед загрузкой на сервер, что php верно выводил его содержимое?
Может можно просто в коде указать, какая кодировка используется?

Если бы мне требовалось просто вывести содержимое, я бы прописал:
header('Content-Type: text/html; charset=UTF-8');

для соответствующей кодировки.
Но у меня в дальнейшем происходит работа с содержимым файла (его построчное перемещение в массив данных). Что усложняют задачу.
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Сейчас принято php код писать в utf-8 и страницы сайта отдавать в utf-8.

Если csv-файл в другой кодировке, перекодируйте его используя iconv или аналоги.
$str = iconv( "Windows-1252", "UTF-8", $str );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Но у меня в дальнейшем происходит работа с содержимым файла (его построчное перемещение в массив данных). Что усложняют задачу.

Вообще-то, наоборот, упрощает. Достаточно посмотреть документацию к разбирающей CSV функции fgetcsv и увидеть, что кодировка для нее определяется настройками локали сервера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы