plik.txt jest zapisywany w ISO-8859-1 lub Windows-1252 (te dwa są bardzo podobne) i jest interpretowany jako UTF-8 przez MySQL. Są one niezgodne.
Skąd mam wiedzieć?
- Patrz punkt 3.:plik wyświetla się poprawnie, gdy jest interpretowany jako ISO-8859-1 lub Windows-1252.
- Patrz punkt 1.:baza_danych_zestawu_znaków :utf8
Rozwiązanie:albo przekonwertuj plik na UTF-8, albo powiedz MySQL, aby zinterpretował go jako ISO-8859-1 lub Windows-1252.
Tło:znaki, które podajesz (ã itd.) są wartościami jednobajtowymi w windows-1252, a te bajty są niedozwolonymi wartościami w UTF-8, co daje w wyniku znaki „?” (znaki zastępujące Unicode).
Fragment z dokumentacji MySQL :