我使用python tornado构建一个简单的Web服务器。这是龙卷风的代码:
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'编解码器不能将字节0xa8解码到位 14:无效的起始字节
我认为这是因为前端代码中有一些中文字。
如何解决这个问题?
是的,我正在使用命令行在远程CentOS上工作,没有桌面。答案 0 :(得分:0)
您是否尝试过添加
# -*- coding: UTF-8 -*-
到你的脚本的顶部? 不确定会解决它,但它不会伤害尝试