конвертировать CSV-файл в CSV UTF8 с помощью переполнения стека

Я получил .csv файл от клиента, но когда я читаю его с помощью PHP, он показывает, что какой-то текст не может быть прочитан. Я пытаюсь загрузить и открыть с помощью Google листа, а затем снова экспортировать .csv с помощью Google. это прекрасно работает, когда я читаю это с php.

Есть ли способ конвертировать .csv в .csv UTF8 без использования Google? потому что клиент будет отправлять .csv на сервер каждый день автоматически. а затем мой PHP-скрипт будет читать и импортировать данные .csv в базу данных. пожалуйста помоги

Спасибо

1

Решение

Я нашел способ, сначала используя:

header('Content-Type: text/html; charset=utf-8');

и нам нужно найти, какой язык кодирования мы используем здесь

http://destructor.de/charsets/index.htm

Мой язык тайский, поэтому мне нужно использовать Windows-874. так и должно быть:

iconv("windows-874", "UTF-8", $data[$c]);

так что просто используя эту 2 строку

header('Content-Type: text/html; charset=utf-8');
iconv("windows-874", "UTF-8", $data[$c]);

Слава сумит 🙂

1

Другие решения

Вы можете попробовать добавить «BOM» в начало файла CSV (т.е. три байта: EF BB BF — https://en.wikipedia.org/wiki/Byte_order_mark). По моему опыту, файлы CSV с BOM хорошо интерпретируются Excel. Может быть, это поможет в вашем случае.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector