Python 字符串编码问题:字符串“法兰西岛”正在作为“√éle-de-France”写入 CSV 文件

Python Encoding String Issue: String "Île-de-France" is being written to CSV file as "√éle-de-France"

我正在尝试将字符串“Île-de-France”写入 CSV 文件,但是写入文件的是“√éle-de-France”。我在公开场合尝试了 encoding="utf-8" 但它没有用。我错过了什么?谢谢!

with open('/tmp/directwrite.csv', 'w', newline='') as csvfile:
    fieldnames = ['location']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'location': 'Île-de-France'})

这是您的查看器的问题。如果使用 Excel 或其他一些 windows 程序,请使用 encoding='utf-8-sig'。在 Windows 程序识别为 UTF-8 文件的文件开头写入签名;否则,它假定文件使用 ANSI 编码。