Eu sei que essa é uma pergunta antiga, mas isso surgiu primeiro no Google para mim.
Você está certo de que o problema é que a codificação do arquivo é diferente de UTF-8. No entanto, acho que a troca de codificação aconteceu antes de você enviar para o Bitbucket. Você pode corrigir isso com Sublime Text ou Notepad ++ facilmente, se você tiver uma cópia não corrompida do arquivo. Basta abrir o arquivo ofensivo no Texto sublime, colar o código correto e usar o comando Arquivo-> Salvar com codificação- > UTF-8. Em seguida, empurre-o de volta para o Bitbucket. Eu também notei que o arquivo era exibido corretamente na interface do Bitbucket, mesmo que ele fosse bagunçado depois de ser puxado. Então você pode copiar o código diretamente da interface do Bitbucket.