@andrey_levushkin

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 09:14
5000 руб./за проект
24 апр. 2024, в 09:13
2000 руб./в час