Импорт из csv в php

130
25 мая 2021, 03:20

как исправить вывод вместо русских символов вот такое

������� ������� ��������

if ($this->request->server['REQUEST_METHOD'] == 'POST'){
            $file = $_FILES['csv']['tmp_name'];
            $handle = fopen($file,"r");
            $i = 0;
            $data = array();
            while($data[] = fgetcsv($handle,1000,",","'")){}
            if (empty($data)) {
                throw new Exception("Empty data. Check the source file.");
            }
            foreach ($data as $row) // обработка строки заключается в считывании полей в формате CSV и возвращении массива, содержащего считанные поля.
            {
                if ($i > 0){
                    if ($row[0]!='') // если столбец 1 не является пустым
                    {
                        echo $row[0].'echo<br>';
                    }
                    else
                    {
                    }
                }
                $i++;
            }
        }
Answer 1
  1. iconv — Преобразование строки в требуемую кодировку https://www.php.net/manual/ru/function.iconv.php

  2. установить header в начале файла с требуемой кодировкой, например

<?php header('Content-Type: charset=utf-8'); ?>

  1. Сделать промежуточный буфер импорта - файл, в котором преобразуется на нужное и уже отттуда стандартно вставляется, куда нужно

  2. Использовать ob_start — включение буферизации вывода, когда получается импорт, внутри переводится в нужное, и потом выдается на гора https://www.php.net/manual/ru/function.ob-start.php

Answer 2
$file = $_FILES['csv']['tmp_name'];
$file = iconv(mb_detect_encoding($file, mb_detect_order(), true), "UTF-8", $file);
READ ALSO
PHP ошибка Parse error: syntax error, unexpected end of file

PHP ошибка Parse error: syntax error, unexpected end of file

На одностраничном сайте(сайт для продаж) при попытке нажать кнопку "Оформить заказ" выскакивает ошибка Parse error: syntax error, unexpected end of file in

161
Что можно взять с устройства, кроме IP?

Что можно взять с устройства, кроме IP?

Я пишу сайт на php и у меня такая проблема: при добавлении товара в корзину, я считываю ip устройстваИ если я с компьютера и телефона, которые...

220
Сервер nginx не возвращает $remote_user (Laravel 5.8)

Сервер nginx не возвращает $remote_user (Laravel 5.8)

У меня на сайте происходит ldap-авторизацияКогда сайт залил на сервер, nginx не возвращает auth_user или $remote_user для определения данного пользователя

85
PHP json encode

PHP json encode

Есть проблема необходимо привести текст в человеческий вид

179