Zaimportowałem niektóre dane za pomocą LOAD DATA INFILE do bazy danych MySQL. Sama tabela i kolumny używają zestawu znaków UTF8, ale domyślny zestaw znaków bazy danych to łaciński 1. Ponieważ domyślnym typem znaków bazy danych jest łacina1, a ja użyłem LOAD DATA INFILE bez określenia zestawu znaków, zinterpretowano plik jako łaciński1, mimo że dane w pliku to UTF8. Teraz mam kilka źle zakodowanych danych w moim colum UTF8. Znalazłem this article, który wydaje się adresować podobny problem, którym jest "UTF8 wstawiony w cp1251", ale moim problemem jest "Latin1 wstawiony w UTF8". Próbowałem edytować tam kwerendy, aby przekonwertować dane Latin1 na UTF8, ale nie mogę go uruchomić. Albo dane są takie same, albo jeszcze bardziej zniekształcone niż poprzednio. Przykładowo, słowo Québec pokazuje jako "Que".MySQL Konwertuj dane łacińskie1 na UTF8
[DODATKOWE INFO]
Przy wyborze danych zawinięte w HEX(), Quà © bec ma wartość 5175C383C2A9626563.
Stół do utworzenia (skrócony) tej tabeli.
CREATE TABLE MyDBName.`MyTableName`
(
`ID` INT NOT NULL AUTO_INCREMENT,
.......
`City` CHAR(32) NULL,
.......
`)) ENGINE InnoDB CHARACTER SET utf8;
proszę napisać instrukcję CREATE TABLE dla danego stołu, wraz z kilkoma zepsutymi wierszami, ale owinąć zepsutą kolumnę w hex(), tak: 'SELECT HEX (name)) Z miast LIMIT 5'. dzięki tym informacjom pomogę ci znaleźć prawidłowy sposób naprawy zgodnie z tym artykułem. (BTW: uwielbiam ten artykuł, kilka razy uratowałem mój tyłek.) – longneck