'utf-8'编解码器无法解码位置1中的字节0xf4:无效的连续字节

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'utf-8'编解码器无法解码位置1中的字节0xf4:无效的连续字节相关的知识,希望对你有一定的参考价值。

我尝试发送电子邮件,感谢python脚本,它不起作用。我尝试了不同的邮件地址(Hotmail和Gmail),不同的端口等等。没有一个正在工作,即使我只写了两行代码,我总是有相同的地址。我也尝试使用Latin-1或utf-8编码......没有任何改变!

我在Windows 10上使用anaconda和python 3.6。

代码:

import smtplib
serveur = smtplib.SMTP('smtp.gmail.com',587)

而错误:

runfile('C:/Users/Come/AppData/Roaming/Microsoft/Windows/Network Shortcuts/sanstitre3.py', wdir='C:/Users/Come/AppData/Roaming/Microsoft/Windows/Network Shortcuts')
Traceback (most recent call last):

File "<ipython-input-1-a733f02e7871>", line 1, in <module>
runfile('C:/Users/Come/AppData/Roaming/Microsoft/Windows/Network Shortcuts/sanstitre3.py', wdir='C:/Users/Come/AppData/Roaming/Microsoft/Windows/Network Shortcuts')

File "D:Anacondalibsite-packagesspyderutilssitesitecustomize.py", line 710, in runfile 
execfile(filename, namespace)

File "D:Anacondalibsite-packagesspyderutilssitesitecustomize.py", line 101, in execfile 
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/Come/AppData/Roaming/Microsoft/Windows/Network Shortcuts/sanstitre3.py", line 9, in <module>
serveur = smtplib.SMTP('smtp.gmail.com',587)

File "D:Anacondalibsmtplib.py", line 261, in __init__
fqdn = socket.getfqdn()

File "D:Anacondalibsocket.py", line 673, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf4 in position 1: invalid continuation byte

编辑:

到目前为止,我尝试了不同的东西但没有任何效果

没有我的代码开头像:

# -*- coding:Latin-1 -*-
import smtplib
import socket
hostname, aliases, ipaddrs = socket.gethostbyaddr('smtp.gmail.com')
socket.getfqdn()
socket.gethostname()
serveur = smtplib.SMTP("smtp.gmail.com",587)
serveur.ehlo()

我也ping smtp.gmail.com,这是结果,所有看起来都是有序的...但它仍然无法正常工作(我还检查了我的文件名中是否有任何特定字符)

Envoi d’une requête 'ping' sur gmail-smtp-msa.l.google.com [74.125.206.108] avec 32 octets de données :
Réponse de 74.125.206.108 : octets=32 temps=8 ms TTL=47
Réponse de 74.125.206.108 : octets=32 temps=7 ms TTL=47
Réponse de 74.125.206.108 : octets=32 temps=7 ms TTL=47
Réponse de 74.125.206.108 : octets=32 temps=6 ms TTL=47

Statistiques Ping pour 74.125.206.108:
    Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 6ms, Maximum = 8ms, Moyenne = 7ms

最后我不认为错误来自消息,因为到目前为止它只是“我的消息”......

编辑2:

我可能已经发现了问题,但我不知道如何解决它!

如果我直接写这些行:

In[59]: import socket

In[60]: socket.gethostname()
Out[60]: 'Côme'

我可以看到主机名存在问题...但我不知道如何更改它。

答案

所以问题不是脚本而是计算机本身的名称!

如果您遇到同样的问题,请更改您的计算机名称,它应该可以工作!

谢谢你的帮助....

另一答案

使用:

serveur = smtplib.SMTP('smtp.gmail.com:587')
另一答案

你试过 serveur = smtplib.SMTP('smtp.gmail.com'.encode('utf8'),587) 吗?

以上是关于'utf-8'编解码器无法解码位置1中的字节0xf4:无效的连续字节的主要内容,如果未能解决你的问题,请参考以下文章

'utf-8'编解码器无法解码位置1中的字节0xf4:无效的连续字节

'utf8'编解码器在python中解码('utf-8')时无法解码字节0xc3

错误UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0xff:无效的起始字节

DBT snowflake utf-8' 编解码器无法解码位置 1031 中的字节 0xa0:无效的起始字节

colab中的Python Pandas:UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0xd3:无效的延续byteUnicodeDecodeError:

UnicodeDecodeError:'charmap'编解码器无法解码位置Y中的字节X:字符映射到