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

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

相关文章

Django高级编程之自定义Field实现多语言

Django高级编程之自定义Field实现多语言

自定义数据库字段 扩展默认的models.CharField和models.TextField使之成为支持多语言的字段。 可以轻松实现复用,无需配置多余选项 from django....

Numpy中stack(),hstack(),vstack()函数用法介绍及实例

1.stack()函数 函数原型为:stack(arrays,axis=0),arrays可以传数组和列表。axis的含义我下面会讲解,我们先来看个例子,然后我会分析输出结果。 im...

Python3学习urllib的使用方法示例

urllib是python的一个获取url(Uniform Resource Locators,统一资源定址符)了,可以利用它来抓取远程的数据进行保存,本文整理了一些关于urllib使用...

详解Python字符串对象的实现

详解Python字符串对象的实现

PyStringObject 结构体 Python 中的字符串对象在内部对应一个名叫 PyStringObject 的结构体。“ob_shash” 对应字符串经计算过的 hash值, “...

使用Python实现租车计费系统的两种方法

要求: #出租车计费***********************************************************************************...