[python] 中文乱码问题

本文描述了在Linux和Windows环境下处理文本文件时遇到的乱码问题。通过调整Python脚本中文件读取的编码方式,从UTF-8改为GB2312和GBK,成功解决了跨平台文件处理的乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问题描述

  在Linux环境下建了个文本文件,通过编写的脚本处理没有问题.把脚本挪到Windows 10环境下就一命呜呼编程一堆乱码了.把Windows 10下的文本文件放到Linux去处理,发现也是乱码.

二.系统环境

  • 编写环境: Linux Mint 18.1
  • Python版本: 3.7.4
  • 测试环境: Windows 10

三.解决办法

  1. 问题 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:

      https://zhidao.baidu.com/question/430772955877875452.html

  2. 问题 2

    2.1 error description:

      转换后的文本为乱码.

    2.2 solution:

      我发现在Windows下的文本文件到了Linux环境下,打印出来就是乱码了.好奇怪.网上资料也看了好多也都无济于事.在看到某篇文章(真的很抱歉,我回去没翻到那篇文章)提到字符编码的时候,我突然想是不是这里出了问题.

      于是我把 encoding='UTF-8' 改成了 encoding='GB2312' ,咦,乱码没有了,可爱的中文字符又回来了,我又试了下 encoding='GBK',还是中文.

      问题就这么莫名其妙的解决了,我觉得先Mark下,然后后面再仔细研究下这个问题的始末.

转载于:https://my.oschina.net/u/558612/blog/3077966

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值