如何解决 Python print 输出文本显示 gbk 编码错误
Posted 小胖砸加油
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决 Python print 输出文本显示 gbk 编码错误相关的知识,希望对你有一定的参考价值。
------------恢复内容开始------------
前阵子想爬点东西,结果一直提示错误UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘xa0’ in position
,在网上一查,发现是 Windows 的控制台的问题。控制台的编码是 GBK,Python 是 UTF-8,造成了冲突。下面给出三种解决方法:
第一种方法:直接替换出错的内容
import requests url = ‘https://segmentfault.com/a/1190000015617318‘ print(requests.get(url).text.replace(‘xa0‘, ‘ ‘))
第二种方法:再解码
先用 GBK 编码,加个 ignore 丢弃错误的字符,然后再解码。
import requests url = ‘https://segmentfault.com/a/1190000015617318‘ print(requests.get(url).text.encode(‘gbk‘, ‘ignore‘).decode(‘gbk‘)
第三种方法:修改控制台编码
新建一个 cmd.reg, 输入代码:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe] "CodePage"=dword:0000fde9 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="Consolas" "ScreenBufferSize"=dword:232900d2 "WindowSize"=dword:002b00d2
------------恢复内容结束------------
以上是关于如何解决 Python print 输出文本显示 gbk 编码错误的主要内容,如果未能解决你的问题,请参考以下文章
python,爬虫,pandas的DataFrame处理后的数据,输出到文本后中间这些数据都没有展开怎么办
python ,pyqt4,如何将print出来的内容输出到界面上的文本框中?