如何解决 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 编码错误的主要内容,如果未能解决你的问题,请参考以下文章

python3 print输出时会有空行的问题及解决方法

python,爬虫,pandas的DataFrame处理后的数据,输出到文本后中间这些数据都没有展开怎么办

怎样把两个print语句输出在同一行

python ,pyqt4,如何将print出来的内容输出到界面上的文本框中?

Python 颜色控制 \033[*** 代码 print输出\033为箭头符号,怎么解决?

python print 输出带颜色字体