tornado在地址中接受unicode吗?
#coding: utf-8 (there is # dont know how to show it here...)
import tornado.ioloop
import tornado.web
class Abdou(tornado.web.RequestHandler):
def get(self):
self.write("hi")
miaw = tornado.web.Application([
(u'/ééé', Abdou),
])
if __name__ == "__main__":
miaw.listen(8000)
tornado.ioloop.IOLoop在Flask中它成功了!
from flask import Flask
miaw = Flask(__name__)
@miaw.route(u'/ééé')
def abdou():
return "hi!"
if __name__ == '__main__':
miaw.run()注意:在使用像/hello世界一样的逃逸时也有同样的问题,但在Flask中它是有效的!
NB2:谢谢你的编辑:)现在它看起来更专业了:p
发布于 2011-11-12 05:20:39
看看tornado.escape.url_escape(value)和tornado.escape.url_unescape(value, encoding='utf-8')。
如下所示:
#coding: utf-8 (there is # dont know how to show it here...)
import tornado.ioloop
import tornado.web
class Abdou(tornado.web.RequestHandler):
def get(self):
self.write("hi")
miaw = tornado.web.Application([
(tornado.escape.url_escape(u'/ééé'), Abdou),
])
if __name__ == "__main__":
miaw.listen(8000)
tornado.ioloop.IOLoop您可能还希望能够获得用户输入的urls。我认为你是这样做的:
class Page(tornado.web.RequestHandler):
def get(self,title):
title = tornado.escape.url_unescape(title, encoding='utf-8')
self.write(title)
miaw = tornado.web.Application([
(tornado.escape.url_escape(u'/ééé/(*.)'), Page),
])
# you can get /ééé/page_name, where page_name can be unicode
if __name__ == "__main__":
miaw.listen(8000)
tornado.ioloop.IOLoop发布于 2011-11-13 22:20:46
这似乎是一个bug:
http://groups.google.com/group/python-tornado/browse_thread/thread/1f89cbeee05ba6fb/c028d3e4744eec8a?lnk=gst&q=unicode#c028d3e4744eec8a
而且链接是死的:( 404甚至在这里都在跟着我!
https://stackoverflow.com/questions/8100049
复制相似问题