В файле лежат байты, а не буквы. Кодировка задаёт соответствие между ними. Если файл сохранён в одной кодировке, а открыт в другой, вместо текста появляются «кракозябры».
Типичный случай
CSV из старой бухгалтерской программы часто сохранён в Windows-1251. Открытый как UTF-8, он покажет мусор вместо кириллицы — файл нужно перечитать в правильной кодировке.