编写python文件的时候,文件中出现中文字符,会报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
解决办法:
方法一:
在首行添加如下代码:
#-*- coding: utf-8 -*-
方法二:
在首行添加如下代码:
# coding: utf-8
方法三:
使用中文处将中文unicode编码
将url中的中文转成Unicode编码
我们发请求的是,需要解决url中存在中文的问题,若只是传递的参数带中文,我们可以通过,如下方法解决:
例如:
from urllib import parse
data = {
'kw':'水果',
}
data = parse.urlencode(data)
再进行url的拼接即可。
若中文存在url的中间,上述方法就不适用了,这时我们可以通过如下方法解决:
from urllib import request,parse
# 中文转Unicode编码
b = b'/:?=&#' #此处定义忽略转码的字符
new_url = parse.quote(new_url, b)