龙卷风:'utf-8' 编解码器无法解码字节
tornado: 'utf-8' codec can't decode byte
我正在使用 python tornado 构建一个简单的网络服务器。这是龙卷风的代码:
import json
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=80, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self, param):
print("\n\nthis is a get request from indexhandler:")
if param:
print("param is NOT null")
self.render(r"frontend/" + param)
else:
print("param is null")
self.render(r"frontend/index.html")
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/(.*)", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
所有前端代码都在目录 /frontend
中,所以我使用了一个简单的正则表达式 (.*)
来允许用户访问 /frontend
中的所有资源,例如 js 文件和css 个文件。
但是,当我尝试访问我的网站时,我无法访问所有资源:
在服务器端,我收到很多如下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position
14: invalid start byte
我认为是因为前端代码中有一些中文单词。
如何解决这个问题?
顺便说一句,我正在使用命令行在远程 CentOS 上工作,但没有桌面。
你试过添加
# -*- coding: UTF-8 -*-
到脚本的顶部?
不确定这是否会解决问题,但尝试一下不会有什么坏处
我正在使用 python tornado 构建一个简单的网络服务器。这是龙卷风的代码:
import json
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=80, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self, param):
print("\n\nthis is a get request from indexhandler:")
if param:
print("param is NOT null")
self.render(r"frontend/" + param)
else:
print("param is null")
self.render(r"frontend/index.html")
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/(.*)", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
所有前端代码都在目录 /frontend
中,所以我使用了一个简单的正则表达式 (.*)
来允许用户访问 /frontend
中的所有资源,例如 js 文件和css 个文件。
但是,当我尝试访问我的网站时,我无法访问所有资源:
在服务器端,我收到很多如下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 14: invalid start byte
我认为是因为前端代码中有一些中文单词。
如何解决这个问题?
顺便说一句,我正在使用命令行在远程 CentOS 上工作,但没有桌面。
你试过添加
# -*- coding: UTF-8 -*-
到脚本的顶部? 不确定这是否会解决问题,但尝试一下不会有什么坏处