file.txt je uložen v ISO-8859-1 nebo Windows-1252 (tyto dva jsou velmi podobné) a MySQL jej interpretuje jako UTF-8. Tyto jsou nekompatibilní.
Jak to poznám?
- Viz bod 3.:Soubor se zobrazí správně, když je interpretován jako ISO-8859-1 nebo Windows-1252.
- Viz bod 1.:character_set_database :utf8
Řešení:buď převeďte soubor na UTF-8, nebo řekněte MySQL, aby jej interpretovalo jako ISO-8859-1 nebo Windows-1252.
Pozadí:vámi poskytnuté znaky (ã atd.) jsou jednobajtové hodnoty v systému Windows-1252 a tyto bajty jsou nepovolené hodnoty v UTF-8, takže dávají '?' (náhradní znaky Unicode).
Úryvek z Dokumenty MySQL :