The input file seems to begin with a byte order mark (BOM), to indicate UTF-8 encoding. You can decode the file to Unicode strings by opening it with
import codecs
rfil = codecs.open(fil, "r", "utf_8_sig")
The utf_8_sig encoding skips the BOM in the beginning.
Some programs recognize the BOM, some don't. To write the file out without BOM, use
wfil = codecs.open(txtFil, "w", "utf_8")