现在的位置: 首页 > 编程·网络 > python编程 > 正文
解决tornado中get请求中文乱码问题
2014年05月12日 python编程 ⁄ 共 680字 解决tornado中get请求中文乱码问题已关闭评论 ⁄ 被围观 6,501 views+

在使用tornado开发的项目的时候,有时需要在get请求中加中文参数:

页面和python文件的编码已经统一,在chrome和火狐浏览器下测试也没有问题。

但是在360浏览器和IE浏览器下,还是乱码。

将带有中文字符的链接直接复制到360和IE浏览器中是没有问题的,但是当带有中文的链接出现在页面上时,IE和360传到后台会出现乱码。这是因为,360浏览器和IE浏览器输入框中的编码是是跟随页面而变化的,但出现在页面内部的链接地址,在发出请求时是根据本地的编码的,所以传到后台会出现乱码。

tornado已经有此解决办法。在链接中有中文的参数上加上url_escape(),就可以了。

生成中文链接时:

就可以了。

在页面中直接:

tornado.escape.url_escape(valueplus=True)

Returns a URL-encoded version of the given value.

If plus is true (the default), spaces will be represented as “+” instead of “%20”. This is appropriate for query strings but not for the path component of a URL. Note that this default is the reverse of Python’s urllib module.

New in version 3.1: The plus argument



本文链接:解决tornado中get请求中文乱码问题

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:海鹏的博客,谢谢!^^


抱歉!评论已关闭.

无觅相关文章插件,快速提升流量