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

yipeiwu_com6年前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编码
非常方便,解决另外困扰一天的问题。。。

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

相关文章

Python处理JSON数据并生成条形图

Python处理JSON数据并生成条形图

一、JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下: 本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时...

python中使用正则表达式的后向搜索肯定模式(推荐)

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供...

对python3中, print横向输出的方法详解

Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行。但是在python3里面就不行了。 Python3 : 3.0的print最后加个参数end=""就可以了...

利用python Selenium实现自动登陆京东签到领金币功能

利用python Selenium实现自动登陆京东签到领金币功能

如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: 【插入图片,登陆页面】 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用...

在python的WEB框架Flask中使用多个配置文件的解决方法

有些框架本身就支持多配置文件,例如Ruby On Rails,nodejs下的expressjs。python下的Flask虽然本身支持配置文件管理, 但单纯使用from_object和...