Задать вопрос
maxxtweek
@maxxtweek
Начинающий бекэнд разработчик

Как поменять кодировку,когда импортирую в mysql из файла csv?

Всем доброго времени суток.
Добавляю строку в бд
$handle = fopen($file, "r");
        while (($line = fgetcsv($handle, 100, ";")) !== FALSE) {

            $query = $db->prepare("INSERT INTO students (name,surname,age,city) VALUES (:name,:surname,:age,:city)");
            $data = array('name' => $line[0], 'surname' => $line[1], 'age' => $line[2], 'city' => $line[3]);
            $query->execute($data);
        }
        fclose($handle);

Но если в csv есть кириллица добавляется просто пустая строка EIdF3g1AnBY.jpg
Пример csv файла:
udO6Q2sevAk.jpg
Как можно поменять кодировку csv файла?
Заранее благодарю за ответ.
  • Вопрос задан
  • 545 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Перед импортом указать в коде:
SET NAMES = utf8;

Есть ещё и другие способы импорта:
  1. LOAD DATA LOCAL INFILE
  2. mysqlimport
  3. HeidiSQL
Ответ написан
Комментировать
@Fortop
Tech/Team lead
Не кодировку файла, а кодировку подключения.

В какой кодировке csv?
Если utf, то соответственно выполните SET NAMES utf8
Перед тем как вставлять в базу
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽