Isso ocorre devido a um problema com a função de API do Win32 IsTextUnicode remontando ao Windows NT 3.5. Se um arquivo é codificado em ANSI, a função irá interpretá-lo como UTF-16LE, resultando em caracteres ilegíveis.
Isso também me fascinou quando eu descobri isso, já que eu era meio jovem e ingênua, eu achei que era uma conspiração real:)
Na verdade, existe um artigo da Wikipedia sobre isso que você pode encontrar aqui .