Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 338|回复: 0

win 下面 py 默认编码 cp936 的问题

[复制链接]

19

主题

11

回帖

255

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
255
发表于 2024-7-21 19:34:02 | 显示全部楼层 |阅读模式
在使用 win + pycharm 的时候遇到每次读写包含中文的文本文件都会出现编码的问题,查看 open 源码可以知道是由于使用 open 函数没有指定编码从而会默认指定一个编码,源码中是这样说的:

  1.     In text mode, if encoding is not specified the encoding used is platform
  2.     dependent: locale.getpreferredencoding(False) is called to get the
  3.     current locale encoding.
复制代码
在上面的提示中如果没有指定编码,那么就会默认指定:locale.getpreferredencoding(False) 设定的编码,而这个编码在 win 下面是:cp936,其实该编码也就是熟悉的 gbk 编码格式。

根据官方文档修改一下这个编码可以解决这个问题,但是修改的编码属于:cp65001 其实也是属于 utf-8,下面是参考的文章地址:https://learn.microsoft.com/en-u ... /use-utf8-code-page

注意:修改以后需要重启一下!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-10-6 23:21 , Processed in 0.081759 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表