python3写入文件encoding=utf-8失效,依旧中文乱码

一开始的代码是:

with open('hello.csv', 'w', encoding='utf-8', newline='')as csv_file:

但是csv文件中的中依旧乱码,经过一顿百度,找到一种解决方式:

with open('hello.csv', 'w', encoding='utf-8-sig', newline='')as csv_file:

将encoding的utf-8换成utf-8-sig就可以了
所谓uft-8-sig"中sig全拼为 signature 也就是"带有签名的utf-8

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: encoding='utf-8' 是在 Python 中用来设置字符编码的参数,它表示使用 UTF-8 编码来读取或写入文件。这是一种常用的字符编码格式,能够支持大多数语言。例如,在读取一个文本文件时,可以使用如下代码: ```python with open('file.txt', 'r', encoding='utf-8') as f: text = f.read() ``` 或者在写入一个文本文件时,可以使用如下代码: ```python with open('file.txt', 'w', encoding='utf-8') as f: f.write(text) ``` 请注意,默认情况下,Python 使用系统默认的字符编码,因此如果要指定其它字符编码,需要显式地指定。 ### 回答2: Pythonencoding=utf-8,是指使用UTF-8编码格式来处理和储存数据。UTF-8是Unicode的一种编码方式,Unicode则是一种国际标准编码,用于表示支持人类语言的字符集。因此,使用UTF-8编码格式能够避免数据在不同的地区和设备上出现乱码的情况,而且能够支持全球各种语言的文字,非常适合在多语言环境下进行开发。 在Python中,如果不指定encoding参数,则默认使用操作系统的编码格式。但是,由于不同的操作系统和设备支持的编码格式不同,因此在跨平台和多语言开发的时候,推荐使用UTF-8编码格式。 Python提供了一系列编解码函数和模块,使得在处理不同编码格式的文本时变得非常方便。比如,使用encode函数可以将Unicode对象转换成UTF-8格式的字节对象,而使用decode函数则可以将字节对象解码成Unicode对象。另外,通过sys模块和locale模块,可以查看当前系统和Python的编码设置,并进行修改。 总的来说,Python中采用UTF-8编码格式,是为了在跨平台和多语言开发中提高数据的传输和存储的可靠性,同时也使得开发者可以更加方便地处理不同编码格式的文本。 ### 回答3: Python 是一种高级编程语言,可以理解为一门用于解决复杂问题的工具,而 UTF-8 是一种编码方式,又称万国码,它可以用来表示世界上所有的字符。在 Python 中,encoding = utf-8 表示采用 UTF-8 编码方式来表示所使用的字符串或文件。它是 Python 中一种非常常见的编码方式,也是 Python 3.x 版本中默认的编码方式。 在 Python 中,如何设置编码形式很重要,因为不同的编码方式会影响到程序的正确性和运行效率。当程序中需要处理多种语言字符时,比如在文本中包含了中文、日文或者阿拉伯文等字符时,就需要用到 encoding = utf-8 来指定编码方式,以确保程序能够正确地识别和操作这些字符。 在 Python 中,使用 encoding = utf-8 可以很方便地将不同的字符串和文件进行编码转换,以满足不同的需求。同时,它还可以保证程序在处理各种国际化字符串时的正确性和兼容性。 总之,encoding=utf-8Python 编程中是非常重要的,掌握好这种编码方式,可以让 Python 开发者更加自如地处理各种字符问题,提高工作效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值