admin管理员组文章数量:1610917
在启动 Django 项目的时候报错如下,花了一点时间理解和解决。
报错
File “C:\Program Files\Python38\lib\socket.py”, line 756, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xc4 in position
0: invalid continuation byte
启动命令为:
python manage.py runserver
原因
从报错可知,问题出在 gethostbyaddr(name) ,调试可以发现,这个函数没有正确返回。
由图可见 utf-8 无法解析 0xc4。 因为 Windows 中文版的有些内容是 GBK 编码,而主机名很可能就是GBK 编码,而 python 默认采用 utf-8 编码,所以无法解析 GBK 的 0xc4。
如果把内容拷贝出来,找个转换网站就可以发现,这段16进制码是我的主机名:
主机名称可以在电脑属性里查看,也可以 cmd 输入以下命令查看:
ipconfig /all
解决
修改主机名,在我的电脑->属性->关于->重命名这台电脑,改为英文名称,重启电脑即可(如果电脑正好需要更新系统,更新后重启才有效)。
再次启动项目就成功啦:
本文标签: 报错UTFUnicodeDecodeErrordjangoCodec
版权声明:本文标题:【已解决】django 报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xc4 in position 0:... 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728604279a1165253.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论