python - CherryPy url 编码问题

标签 python utf-8 cherrypy

我试图在我的 url 变量中获取德语元音变音。 这是我的代码:

class Root:
    def echo(self,input):
        return input
    echo.exposed = True

if __name__ == '__main__':
    cherrypy.quickstart(Root(),'/')

这工作正常:

http://localhost:8080/echo/?input=äöüß

结果:äöüß

但是当我尝试时:

http://localhost:8080/echo/äöüß

我得到:¤à¶àūà

有谁知道原因以及如何解决这个问题?

最佳答案

试试这个:

import cherrypy

class Root:
    def echo(self,input):
        return bytes(input, 'Latin-1')
    echo.exposed = True

if __name__ == '__main__':
    cherrypy.quickstart(Root(),'/')

或者这样做:

class Root:
    @tools.encode(encoding='Latin-1')
    def echo(self,input):

Cherrypy 默认编码为 utf-8。 希望这有帮助!

关于python - CherryPy url 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22048314/

相关文章:

xml - VB.net读取编码错误的XML文件

使用 UTF8MB4 时,MySQL 仅在文本字段中存储一些表情符号

python - 如何通过 Mako 模板使用打印功能

php - 在mysql中搜索utf 8编码的字符串显示相同但utf编码不同

python - 无法使用 Cherrypy 禁用或删除 favicon.ico

python - 在 Cherrypy 中动态创建页面定义

python - 为什么 Python 的 GIL 强制执行严格的处理顺序?

python - 用于多处理的共享内存中的大型 numpy 数组 : Is something wrong with this approach?

Python - 使用 Pandas 消除大括号和输出 float

python HTTP 请求无法正常工作