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 файла?
Заранее благодарю за ответ.
  • Вопрос задан
  • 525 просмотров
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Перед импортом указать в коде:
SET NAMES = utf8;

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

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

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

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