所以,我正在制作一个服务器机器人,我试图让机器人在用户发送文件时记录用户消息。
...
with open("messages.txt", "w") as f:
f.write(f'{message.author.name}: "{message.content}" {time.strftime("%H:%I:%M")} {message.guild.name}\n')
...
它对某些用户有些作用,但是当其他人发送消息时,我总是收到错误消息。 "UnicodeEncodeError: 'charmap' codec can't encode character '\u2615' in position 0: character maps to " 有时它只会清除文件。
谢谢!
答案 0 :(得分:0)
使用unicode解析非ascii字符串。 ('\u2615'
在 UTF-8 中被解码为 ☕)
open("messages.txt", "w", encoding='utf-8')