Os arquivos de texto geralmente não possuem metadados. Você só precisa saber o que há dentro de você. Na verdade, no Ubuntu o 'locale' padrão (ou seja, a maneira padrão de interpretar arquivos de texto) também é utf-8, então se não funcionar para você, então é o programa específico que não suporta, não o SO.
Note que o us-ascii é um subconjunto do utf-8, então a única maneira de saber a diferença seria escanear todo o arquivo para os caracteres multibyte, e você provavelmente não tem nenhum (a menos que esteja escrevendo em chinês ou árabe ou algo assim).