一.问题描述
在Linux环境下建了个文本文件,通过编写的脚本处理没有问题.把脚本挪到Windows 10环境下就一命呜呼编程一堆乱码了.把Windows 10下的文本文件放到Linux去处理,发现也是乱码.
二.系统环境
- 编写环境: Linux Mint 18.1
- Python版本: 3.7.4
- 测试环境: Windows 10
三.解决办法
-
问题 1
1.1 error code:
'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
1.2 solution:
打开文件时添加参数 errors="ignore"
1.3 reference:
-
问题 2
2.1 error description:
转换后的文本为乱码.
2.2 solution:
我发现在Windows下的文本文件到了Linux环境下,打印出来就是乱码了.好奇怪.网上资料也看了好多也都无济于事.在看到某篇文章(真的很抱歉,我回去没翻到那篇文章)提到字符编码的时候,我突然想是不是这里出了问题.
于是我把 encoding='UTF-8' 改成了 encoding='GB2312' ,咦,乱码没有了,可爱的中文字符又回来了,我又试了下 encoding='GBK',还是中文.
问题就这么莫名其妙的解决了,我觉得先Mark下,然后后面再仔细研究下这个问题的始末.