Импорт данных в кодировку UTF8 в mysql не работает для меня. Символы UTF8 повреждены. Например Nöthnagel отображается как Nöthnagel
Я создал файл дампа sql для импорта, который содержит кодированные данные UTF-8. Например:
INSERT INTO `users` VALUES(1, 'Fred','Nöthnagel');
Последовательность байтов, представляющая ö в файле, - c3 b6, которая, как я считаю, верна, так как она корректно отображается в vim и в моей оболочке bash, в которой установлены эти переменные среды:
$ env | grep -i utf
LANG=en_US.UTF-8
XTERM_LOCALE=en_US.UTF-8
mysql db был создан следующим образом:
mysql> CREATE DATABASE mydb CHARACTER SET utf8;
Таблица mysql была создана так:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(30) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `last_name` (`last_name`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
Я импортирую файл дампа следующим образом:
mysql -u root -psecret mydb < mydump.sql
Пожалуйста, расскажите мне, чего не хватает из вышеперечисленного.