file.txt се записва в ISO-8859-1 или Windows-1252 (тези два са много сходни) и се интерпретира като UTF-8 от MySQL. Те са несъвместими.
Как мога да разбера?
- Вижте точка 3:файлът се показва правилно, когато се интерпретира като ISO-8859-1 или Windows-1252.
- Вижте точка 1.:character_set_database :utf8
Решение:или конвертирайте файла в UTF-8, или кажете на MySQL да го интерпретира като ISO-8859-1 или Windows-1252.
Предистория:символите, които предоставяте (ã и т.н.), са еднобайтови стойности в windows-1252 и тези байтове са незаконни стойности в UTF-8, като по този начин се получават '?' (знаци за заместване на Unicode).
Фрагмент от MySQL документи :