欢迎您, 来到 宁时修博客.^_^

启动Django报出字符编码错误

2017/10/20 林木立 Django 1293
报错问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte。

一、报错问题

        启动Django时报出字符编码错误,莫名其妙,重装Python、PyCharm都没有解决问题,问了下朋友,原来是主机名的问题。

        当前环境:

        系统:win10 专业版

        Python:3.6.1

        PyCharm:2017.1.4

        Django:1.11.6

        完整错误:

D:\mysite\URLconf>python manage.py runserver 8080
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
October 20, 2017 - 13:33:17
Django version 1.11.6, using settings 'URLconf.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CTRL-BREAK.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x000002702D2FF0D0>
Traceback (most recent call last):
  File "D:\Program Files\Python36\lib\site-packages\django\utils\autoreload.py", line 228, in wrapper
    fn(*args, **kwargs)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\commands\runserver.py", line 149, in inner_run
    ipv6=self.use_ipv6, threading=threading, server_cls=self.server_cls)
  File "D:\Program Files\Python36\lib\site-packages\django\core\servers\basehttp.py", line 164, in run
    httpd = httpd_cls(server_address, WSGIRequestHandler, ipv6=ipv6)
  File "D:\Program Files\Python36\lib\site-packages\django\core\servers\basehttp.py", line 74, in __init__
    super(WSGIServer, self).__init__(*args, **kwargs)
  File "D:\Program Files\Python36\lib\socketserver.py", line 453, in __init__
    self.server_bind()
  File "D:\Program Files\Python36\lib\wsgiref\simple_server.py", line 50, in server_bind
    HTTPServer.server_bind(self)
  File "D:\Program Files\Python36\lib\http\server.py", line 138, in server_bind
    self.server_name = socket.getfqdn(host)
  File "D:\Program Files\Python36\lib\socket.py", line 673, in getfqdn
    hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte


二、解决办法

        我的系统主机名曾经修改成中文,导致了这次Django启动报错,将主机名改成字母后,就不再报错了。

D:\mysite\URLconf>python manage.py runserver 8080
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
October 20, 2017 - 13:36:50
Django version 1.11.6, using settings 'URLconf.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CTRL-BREAK.

1122.png

        这真的是一个十分操蛋的问题。


点赞
说说你的看法

所有评论: (2)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群