centos7 python 中文 “UnicodeDecodeError: 'ascii' codec can't decode byte...”解决方法

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)


1. 开始以为是自己写的python有问题,但后来发现同样的代码在其它电脑上运行正常。。。

2. 按网上说的方法什么load(sys),或者加# -*- coding: utf-8 -*-的方式,虽说都知道是python2年代的东西。但就当病急乱投医了。结果依旧无效。

3. 怀疑CentOS7 的LANG问题,结果改了也没用。。。

4. 怀疑是python3.4的问题,又额外装了一个python3.6。结果两个版本报错的地方也还是完全一样。


那么,既然网上也没有对这个问题的合理解释,那就直接上土办法了~~黑猫白猫的,先抓了耗子再说。


重要操作如下:

cd /usr/lib64/python3.4/encodings/  #python3.x应该都一样
mv ascii.py ascii.py.bak            #这也算给自己留条后路,等将来真找到问题了,还能再恢复回来。
cp utf_8.py ascii.py

  直接用utf_8.py 替换了那个见中文就报错的ascii.py 问题搞定。 将来如果发现什么副作用,再改回来就可以了。


疑似真正的故障点应该还是在我的CentOS7的系统上,但绝不是简单的改LANG。求真正了解内情的人在未来的某一天,将真相大白于天下。


在此之前,有和我一样问题的小伙伴们,可以先跟我一起土着用吧~  :) 







来源:春哥技术博客,欢迎分享,转载请注明出处。(欢迎加春哥团队客服微信号:taike668)

本文地址:https://www.cgtblog.com/wljs/1959.html
上一篇:攻克要塞独家发布2017年上半年软考网      下一篇:Linux系统中常用的压缩和解压缩工具