Я импортировал некоторые данные, используя LOAD DATA INFILE, в базу данных MySQL. Сама таблица и столбцы используют набор символов UTF8, но набор символов по умолчанию для базы данных - латиница 1. Поскольку тип символов по умолчанию для базы данных - латинский, и я использовал LOAD DATA INFILE без указания набора символов, он интерпретировал файл как latin1, хотя данные в файле были UTF8. Теперь у меня есть куча плохо закодированных данных в моем столбце UTF8. Я нашел эту статью , которая, кажется, решает похожую проблему: «UTF8 вставлен в cp1251», но моя проблема - «Latin1 вставлена в UTF8». Я попытался отредактировать запросы там, чтобы преобразовать данные латиницы в UTF8, но не могу заставить их работать. Либо данные получаются такими же, либо даже более искаженными, чем раньше. В качестве примера слово Québec показано как Québec.
[ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ]
При выборе данных, заключенных в HEX (), значение Quà © bec имеет значение 5175C383C2A9626563.
Создать таблицу (сокращено) этой таблицы.
CREATE TABLE MyDBName.`MyTableName`
(
`ID` INT NOT NULL AUTO_INCREMENT,
.......
`City` CHAR(32) NULL,
.......
`)) ENGINE InnoDB CHARACTER SET utf8;