Python UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置2对字节0xb5进行解码:起始字节无效
您好,我正在cmd中尝试一个“python manage.py runserver”命令Python UnicodeDecodeError:&x27;utf-8';编解码器可以';在位置2对字节0xb5进行解码:起始字节无效,python,Python,您好,我正在cmd中尝试一个“python manage.py runserver”命令 但它给了我这个爱欲: UnicodeDecodeError:“utf-8”编解码器无法解码位置2的字节0xb5:无效的开始字节” 在岗 getfqdn中的第791行“socket.py” 主机名、别名、IPADRS=gethostbyaddr(名称) 以下是编辑器中的原始代码: def getfqdn(name=''): name = name.strip() if not name or
但它给了我这个爱欲: UnicodeDecodeError:“utf-8”编解码器无法解码位置2的字节0xb5:无效的开始字节” 在岗 getfqdn中的第791行“socket.py”
主机名、别名、IPADRS=gethostbyaddr(名称) 以下是编辑器中的原始代码:
def getfqdn(name=''):
name = name.strip()
if not name or name == '0.0.0.0':
name = gethostname()
try:
hostname, aliases, ipaddrs = gethostbyaddr(name)
except error:
pass
else:
aliases.insert(0, hostname)
for name in aliases:
if '.' in name:
break
else:
name = hostname
return name
我不知道如何绕过此错误,因为我不确定是否理解代码。(第一次提问,谢谢您的帮助!)在
socket
模块中将gethostbyaddr()
作为参数提供时,它似乎包含无效字符
这可能是因为主机名实际上包含特殊字符。您可以通过打开终端或命令提示符并键入hostname
如果结果是这样的:
računalo-codax
(以上为克罗地亚语,表示“Codax计算机”)
然后你需要更改你的计算机名,以确保它不包含任何特殊字符,如
č
。只有普通字母a-zA-Z
和数字0-9
,或者破折号-
,这是一个可疑的建议。也许更好的解决方案是确保你的计算机名中只使用UTF-8,因为它是可在平台之间进行rtable,并日益成为Internet上Unicode的事实标准。同时,如果您知道网络管理员在命名计算机时使用的编码,请告诉您的库进行解码(“windows-1250”)
(假设这是您要解码的实际编码).你可能会说这是一个可疑的建议,但这只是我自己解决问题的方式。哦,我相信这是可行的,但屈服于帝国主义的压力是一个没有吸引力的解决办法。我们应该能够在我们的私人计算机名中使用我们选择的任何字符。谢谢你的帮助,我已经解决了这个问题!这只是因为用户名…这个我这是Python中的一个bug;谢谢@BiOS!这实际上只是一个用户名问题,现在程序可以运行了!