UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte解决
程序员文章站
2022-07-08 09:42:51
...
问题出现:
在python项目中使用flask模块开启http端口失败,日志如下
File "C:\Users\hello\Desktop\py_project\lib\socket.py", line 676, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte
原因分析:
查看socket.py中源码如下
try:
hostname, aliases, ipaddrs = gethostbyaddr(name)
except error:
pass
原因1:其中 gethostbyaddr(name)会在计算机名为中文(不是用户名)的时候报错UnicodeDecodeError
原因2:except error并不能捕捉异常,依然会在外层调用时出错
解决方法:
方法1:修改计算机名为中文名(方法看最后)
方法2:将上述代码块修改为如下即可
except Exception as error 不会让这个异常扩散到外部
try:
hostname, aliases, ipaddrs = gethostbyaddr(name)
except Exception as error:
name = "hello" #自定义英文的计算机名
如何查看并更改windows计算机名?
此电脑 --> 属性 即可查看以下界面
注意:更改计算机名后重启才会生效!!!
补充:
查看计算机名法2:
在命令行(cmd)中输入hostname
C:\Users\hello>hostname
大哥的电脑
上一篇: 【Python】实现自动发送邮件
下一篇: Word经常遇到问题,然后退出怎么办?
推荐阅读
-
Anaconda中启动Python时的错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 553
-
UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xcb in position 260: ordinal not in range(128)
-
命令行调用python出现编码错误:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 140 完美解决!
-
Python2.7更新pip:UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 7: ordinal not in range(128)
-
Python “'ascii' codec can't decode byte 0xb0i in position 1” 的解决方法
-
真正解决Windows下UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xff in position 0错误的方法
-
当在命令行中执行virtualenv venv时报此错误:'utf-8' codec can't decode byte 0xd5 in position 38: invalid continuation by
-
UnicodeDecodeError: 'utf-8' codec can't decode byte in position : invalid continuation byte
-
【debug】UnicodeDecodeError: codec can't decode byte 0xbd in position 4: invalid start byte
-
python3 报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6