file.txt se guarda en ISO-8859-1 o Windows-1252 (estos dos son muy similares), y MySQL lo interpreta como UTF-8. Estos son incompatibles.
¿Cómo puedo saberlo?
- Ver punto 3.:el archivo se muestra correctamente cuando se interpreta como ISO-8859-1 o Windows-1252.
- Ver punto 1.:character_set_database:utf8
Solución:convierta el archivo a UTF-8 o dígale a MySQL que lo interprete como ISO-8859-1 o Windows-1252.
Antecedentes:los caracteres que proporciona (ã, etc.) son valores de un solo byte en Windows-1252, y estos bytes son valores ilegales en UTF-8, lo que genera los '?' (caracteres de reemplazo Unicode).
Fragmento de Documentos de MySQL :