资讯专栏INFORMATION COLUMN

如何解决 Python print 输出文本显示 gbk 编码错误

刘德刚 / 998人阅读

摘要:前阵子想爬点东西,结果一直提示错误,在网上一查,发现是的控制台的问题。控制台的编码是,是,造成了冲突。下面给出三种解决方法第一种方法直接替换出错的内容第二种方法再解码先用编码,加个丢弃错误的字符,然后再解码。

前阵子想爬点东西,结果一直提示错误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

保存后运行。如果 Ctrl+B 无效,用 python.exe 打开.py程序后再试一次。

如果还有问题的话,可以在我的知乎和SF留言。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41979.html

相关文章

  • python unicode 编码整理

    摘要:如果统一规定每个字符用个或者个字节来存储,那么每个英文字符都必然需要额外到个,这对存储是很大的浪费。因此对于英语字母,编码和码是相同的。中文中文输出这里同样可以知道,中存放的是文件保存的编码的码。 unicode 与 utf-8 的关系 unicode 是 character set character set 是把每个字符对应成数字的集合,比如unicode中 A对应0041,汉字...

    longshengwang 评论0 收藏0
  • Python入门-基本语法1

    摘要:根据有效范围作用域分为全局变量和局部变量。类型以开头标识类型以开头标识类型以进制的字节码表示,实际上是一个字节串,回应了它的另一个名字。 < 返回索引页 基本语法 Hello World 代码注释 关键字 数据类型 变量、常量 变量 变量赋值 变量命名 变量的作用域 常量 字符串与编码 字符转义 字符编码 字符串操作 运算符与表达式 运算符 表达式 ...

    ingood 评论0 收藏0
  • Python编码问题及中文解决方案

    摘要:中国人民看到这样很不错,于是就把这种汉字方案叫做。结果扩展之后的编码方案被称为标准,包括了的所有内容,同时又增加了近个新的汉字包括繁体字和符号。 声明:文章借鉴自【彻底搞懂 python 中文乱码问题】 一. 各种编码的由来 1.1 ASCII编码 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为...

    kevin 评论0 收藏0
  • Python: 熟悉又陌生的字符编码

    摘要:常见的字符编码有编码,编码,编码等。码只规定了个字符的编码,这在美国是够用的。小结是一种针对的可变长度字符编码,它是的实现方式之一。 字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概念。本文主要分以下几个部分介绍: 基本概念 常见字符编码简介 Python 的默认编码 Py...

    Vultr 评论0 收藏0
  • 写第一个Python程序

    摘要:关于中文为了处理汉字,程序员设计了用于简体中文的和用于繁体中文的。年一共收录了个字符,包括个汉字和个其它符号。年的是取代的正式国家标准。区分中文编码的方法是高字节的最高位不为。 Python 2和 Python3的区别 3.0有Unicode support ,这代表着可以直接默认写中文,2是不行的 有一些库改名了,但表面上变化不大,都是些大写变小写,下划线没了之类的 Twisted...

    ISherry 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<