解决Python传递中文参数的问题

yipeiwu_com5年前Python基础

今天有个需要需要传递中文参数给URL

但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。

所以我们果断选择用urlencode来处理中文,

由于国内外网站编码不同,国内是GBK的,国外是UTF8的。

>>> import sys
>>> sys.stdin.encoding
'GBK'
表示我们的环境是GBK的
>>> import urllib
>>> urllib.quote('编码坑爹')   
'%B1%E0%C2%EB%BF%D3%B5%F9'

这样我就得到了GBK的url编码,用这个编码直接传递给URL就能直接解释出中文。不需要我们再处理了

>>> urllib.quote('编码坑爹'.decode('gbk').encode('utf-8'))
'%E7%BC%96%E7%A0%81%E5%9D%91%E7%88%B9'

这是UTF-8的URL编码
非常方便,解决另外困扰一天的问题。。。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

Django在pycharm下修改默认启动端口的方法

Django在pycharm下修改默认启动端口的方法

如题,度娘前几条答案说的都不清不楚,俺来补上: 点击下拉选项中的Edit Configuration进入如下界面: 如果左侧没有出现django server,说明您的项目是不dja...

python安装mysql-python简明笔记(ubuntu环境)

本文讲述了python安装mysql-python的方法。分享给大家供大家参考,具体如下: ubuntu 系统下进行的操作 首先安装了pip工具 sudo apt-get insta...

Python实现手机号自动判断男女性别(实例解析)

Python实现手机号自动判断男女性别(实例解析)

本文性别判断主要依靠airtest中的自动化测试实现 通过自动对比支付宝页面男女图像,从而实现男女判断 代码如下: 男女判断函数: // An highlighted block...

Python 实现王者荣耀中的敏感词过滤示例

王者荣耀的火爆就不用说了,但是一局中总会有那么几个挂机的,总能看到有些人在骂人,我们发现,当你输入一些常见的辱骂性词汇时,系统会自动将该词变成“*”,作为python初学者,就想用pyt...

CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

本文主要给大家介绍了关于在CentOS 7下安装Python 3.5并与Python2.7兼容并存的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: CentOS 7下安装P...