在app引擎应用程序中使用非ascii字符

时间:2011-03-25 00:13:38

标签: python google-app-engine

如何处理App Engine中的非ascii网址?例如http://example.org /Ñöñ-ÅŞÇİİ。

application = webapp.WSGIApplication([("/Ñöñ-ÅŞÇİİ", MainPage)], debug=True)

我尝试过# - coding:utf-8 - 但它没有用。

编辑: 我收到HTTP 404 Not Found。

2 个答案:

答案 0 :(得分:2)

规则与字符串的URLEncoded形式匹配,因此您需要使用它。你可以通过查看dev_appserver的日志来看到这一点,你应该看到这样的东西:

INFO     2011-03-25 00:59:56,577 dev_appserver.py:3317] "GET /%C3%91%C3%B6%C3%B1-%C3%85%C5%9E%C3%87%C4%B0%C4%B0 HTTP/1.1" 404 -

定义规则的简单方法如下:

application = webapp.WSGIApplication([(urllib.quote("/Ñöñ-ÅŞÇİİ"), MainPage)], debug=True)

答案 1 :(得分:1)

您的浏览器将对任何不适合RFC1738

的字符进行网址编码

所以你的路线可能必须是:

/%C3%91%C3%B6%C3%B1-%C3%85%C5%9E%C3%87%C4%B0%C4%B0

匹配

/Ñöñ-ÅŞÇİİ