UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\uff64‘ in position 0: illegal multibyte seq

UnicodeEncodeError: 'gbk' codec can't encode character '\uff64' in position 0: illegal multibyte sequence

出现原因:“gbk”编解码器无法对’、'进行编码,
解决办法:此时只需要替换掉无法编码的符号即可。

例子

失败案例:

filename = "D:\新建文件.txt"   # 读取方式为“a”时,文本会自己创建(全局变量)
content = '研发、生产和销售'

def text_write(data):
    with open(filename,'a') as file_object:
        file_object.write(data)
        file_object.close()     # 关闭文件

text_write(content)

运行结果为:

UnicodeEncodeError: 'gbk' codec can't encode character '\uff64' in position 2: illegal multibyte sequence

解决方法为:用’、‘替换掉’、’

content = content.replace('、', '、')       # 将'、'符号换成'、'就可以了,原因是“gbk”编解码器无法对'、'进行编码,此时只需要替换掉无法编码的符号即可。

成功运行:

filename = "D:\新建文件.txt"   # 读取方式为“a”时,文本会自己创建(全局变量)
content = '研发、生产和销售'
content = content.replace('、', '、')       # 将'、'符号换成'、'就可以了,原因是“gbk”编解码器无法对'、'进行编码,此时只需要替换掉无法编码的符号即可。

def text_write(data):
    with open(filename,'a') as file_object:
        file_object.write(data)
        file_object.close()     # 关闭文件

text_write(content)

你可能感兴趣的:(python)