file.txt é salvo em ISO-8859-1 ou Windows-1252 (esses dois são muito semelhantes), e sendo interpretado como UTF-8 pelo MySQL. Estes são incompatíveis.
Como posso eu saber?
- Veja o ponto 3.:o arquivo é exibido corretamente quando interpretado como ISO-8859-1 ou Windows-1252.
- Veja o ponto 1.:character_set_database:utf8
Solução:converta o arquivo para UTF-8 ou diga ao MySQL para interpretá-lo como ISO-8859-1 ou Windows-1252.
Background:os caracteres que você fornece (ã etc.) são valores de byte único no windows-1252, e esses bytes são valores ilegais em UTF-8, gerando assim os '?'s (caracteres de substituição unicode).
Trecho de documentos MySQL :