- 问题
reponse.encoding
默认为 gb2312
, 出现部分中文乱码
- 解决方法
将response.encoding
设置为 gbk
因为gb2312
只支持六千多个汉字的编码,
而gbk
支持1万多个汉字编码。
- 代码示例
import requests
url = .....
headers = .......
response = requests.get(url=url)
# response.encoding 默认为gb2312,出现部分中文乱码
# 通过以下方式设置编码方式
response.encoding = 'gbk'
- 编码方式的区别
gbk
一般用于繁体中文,
是国家标准gb2312
基础上扩容后兼容gb2312
的标准。
文字编码(中英文)用双字节编码,是国家编码,
通用性比utf8
差,但utf8
占用的数据库比gbk
大gb2312
一般用于简体中文gb2312
只支持六千多个汉字的编码
而gbk
支持1万多个汉字编码。utf8
是全球通用,
用于解决国际上字符的一种多字节编码,
英文使用8
位(一个字节),
中文使用28
位(3个字节)。
现在一般都用utf8
编码。
允许含BOM
,但一般不包含BOM
。