解决python2.7 UnicodeDecodeError和UnicodeEncodeError问题
最近在项目中,读取上传的csv文件,并写入时,会报编码问题,
with open(origin_file_path, mode='wb')as f:
for chunk in file_obj:
f.write(chunk)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 0: invalid continuation byte
刚开始以为是对方上传的文本编码格式有问题,所以让对方用Notepad++,打开编辑后保存
刚开始一段时间,没有再出现错误,最近,错误再次发生,即使用上面说的编辑器也没用
with open(origin_file_path, mode='wb')as f:
for chunk in file_obj:
f.write(chunk.decode('gbk')
后面考虑,可能是因为有中文,需要进行gbk编码,所以在写入文件时我按gbk写入后,发现问题解决了,不会再报上面这个错误
但是当我把把更新的文件放到服务器上后,发现,又报另外一个错误错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-57: ordinal not in range(128)
可能是因为linux默认是utf-8编码。所以报错
然后我又转成utf-8,完美解决问题,代码如下
with open(origin_file_path, mode='wb')as f:
for chunk in file_obj:
f.write(chunk.decode('gbk').encode('utf-8'))
解决python2.7 UnicodeDecodeError和UnicodeEncodeError问题的更多相关文章
- 解决Python2.7的UnicodeEncodeError:'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)异常错误
解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误 大家都知道,在使用python进行网络爬虫时,最头疼的就是转码问题,下面是 ...
- 解决python2.x文件读写编码问题
转自: https://xrlin.github.io/%E8%A7%A3%E5%86%B3python2.x%E6%96%87%E4%BB%B6%E8%AF%BB%E5%86%99%E7%BC%96 ...
- 用 Anaconda 完美解决 Python2 和 python3 共存问题
Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试. 如何在系统中同时共存 Python2 ...
- six库 解决python2的项目如何能够完全迁移到python3
six库 解决python2的项目如何能够完全迁移到python3 SIX是用于python2与python3兼容的库. 它存在的目的是为了拥有无需修改即可在Python 2和Python 3上同时工 ...
- 【已解决】pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte
转载自勤奋的小青蛙本文链接地址: [已解决]pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in positi ...
- 解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) ...
- 转:解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
操作SQL数据库,Python使用的是版本2.7,但是在运行的时候出现了异常错误UnicodeEncodeError:'ascii' codec can't encode characters in ...
- 解决Python2.7的UnicodeEncodeError: 'ascii' codec can’t encode异常错误
import sys reload(sys) sys.setdefaultencoding('utf-8') 好了,通过上面短短的三行,我们算是很好的解决了这个问题了,同样的方式也可以应用到Unico ...
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
更改 sys.defaultencoding 为文件的编码方式 #! /usr/bin/env python # -*- coding: utf-8 -*- import sys reload ...
随机推荐
- ss 命令学习
1.统计服务器并发连接数(ss性能 > netstat) time netstat -ant |grep EST|wc -l time ss -o state established | wc ...
- 使用spring的@Async异步执行方法
应用场景: 1.某些耗时较长的而用户不需要等待该方法的处理结果 2.某些耗时较长的方法,后面的程序不需要用到这个方法的处理结果时 在spring的配置文件中加入对异步执行的支持 <beans x ...
- (转)Content-Disposition的使用和注意事项
最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关的协议,有的则说不用很了解.个人认为这要分层次来看待这个问 题,对于一个新手或者刚入门的web开发人员而言,研究协 ...
- 机器学习的敲门砖:手把手教你TensorFlow初级入门
摘要: 在开始使用机器学习算法之前,我们应该首先熟悉如何使用它们. 而本文就是通过对TensorFlow的一些基本特点的介绍,让你了解它是机器学习类库中的一个不错的选择. 本文由北邮@爱可可-爱生活 ...
- ocat 资源路径-时间控件
http://www.htmleaf.com/jQuery/Calendar-Date-Time-picker/201504251737.html
- no !/ in spec
问题: 在学习hibernate的过程中涉及到hibernate.cfg.xml和hibernate.hbm.xml配置文件的编写,写完之后配置文件出现黄色感叹号,鼠标悬停在感叹号上时显示no !/ ...
- HDUOJ---三角形(组合数学)
http://acm.hdu.edu.cn/showproblem.php?pid=1249 三角形 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- [转]动态加载javascript
动态加载script到页面大约有俩方法 第一种就是利用ajax方式,把script文件代码从后台加载到前台,然后对加载到的内容通过eval()执行代码. 第二种是,动态创建一个script标签,设置其 ...
- github访问太慢解决方案
问题描述 打开github网页太慢 问题原因 被墙,导致DNS无法访问,实际上通过配置本地域名到IP的映射可以避免查询DNS服务器,从而加快速度. 为了验证确实是DNS的问题,请前往站长之家DNS查询 ...
- 解决js中文输入法无法触发onkeyup事件问题(转)
当监听一个input的keyup的事件的时候,英文输入法的情况下可以实时的通过keyup事件检测到文本框value的变化,但是当输入法变成中文后,input的keyup事件就不会被正常触发. onin ...