经指定encoding='utf-8',为什么wj.txt写入中文后全是乱码
本帖最后由 1e3e 于 2024-5-15 15:57 编辑import os
import datetime
with open("d:\\sendmail\\wj.txt", "a", encoding='utf-8') as f:
current_date = datetime.datetime.now().strftime("%Y-%m-%d")
for root, dirs, files in os.walk("d:\\upload"):
if root == "d:\\upload":
for file in files:
f.write(file + " + " + current_date + "\n")
for dir in dirs:
f.write(dir + " + " + current_date + "\n")
else:
pass
上面这段代码中,我已经指定encoding='utf-8',为什么wj.txt写入中文后全是乱码呢?有那位大大可以帮忙看一哈吗? GBK是中文编码吧 kll545012 发表于 2024-5-15 10:52
GBK是中文编码吧
是将encoding='utf-8'改为encoding='GBK'就可以了吗? 1e3e 发表于 2024-5-15 10:55
是将encoding='utf-8'改为encoding='GBK'就可以了吗?
encoding='gbk' 编码要一致,写入时候你要编码为utf-8,查看时候也要用这个,UTF-8也能看中文,不一定非要GBK 你用什么软件查看的,打开查看的时候是 utf8 编码吗? Arcticlyc 发表于 2024-5-15 11:15
你用什么软件查看的,打开查看的时候是 utf8 编码吗?
用的win10的自带记事本,现在改成GBK试了一下,刚刚写入是正常的 更换编码好像需要另存为,我经常直接改编码就很容易出现乱码 GBK应该可以 用gb2312
页:
[1]
2