PYTHON3解决'gbk' codec can't encode character '\xXX' in position XX
程序员文章站
2022-05-28 12:59:28
...
之前写了个爬虫获取一些公司公开的信息,但是在往TXT文件写入的时候偶尔会报错'gbk' codec can't encode character '\xXX' in position XX。
在网上查了许久都是说因为print()输出的缺陷,但是自己测试之后发现并非如此。我在python3环境中,使用的开发程序是Pycharm,这应该不会出现那种错误才对,于是我就随便写了两行代码来测试到底是因为什么报错,代码如下:
f = open(r"D:\test.txt")
a = '\ue863'
print(a)
f.write(a)
f.close()
运行了这段代码后,我发现报错的实际上是f.write这个方法,于是明白了这是因为TXT文件的默认编码是GBK而不是Unicode。于是便做了一个小小的改动,代码如下:import codecs
f = codecs.open('D:\\test.txt','w','utf-8')
a = '\ue863'
print(a)
f.write(a)
f.close()
再次运行果然没有问题了,所以在临时保存文件时应注意临时文件也要设置好编码。
下一篇: 数据库大量数据导出导入
推荐阅读
-
UnicodeEncodeError: 'gbk' codec can't encode character '\xe7' in position 10 解决乱码问题
-
解决Python3控制台输出的UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u30fb‘ in position 0:问题
-
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 问题解决办法之一
-
编码问题:UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148:
-
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
-
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
-
macOS解决sublime text3运行python3报:UnicodeEncodeError: 'ascii' codec can't encode characters in position
-
PYTHON3解决'gbk' codec can't encode character '\xXX' in position XX
-
python3 'gbk' codec can't encode character '\uxxx' ‘\xa0’ in position x