解决PyChram文件编码与文件注释编码不同的问题
对于一些项目代码文件头标注是#-- coding:utf-8--, pycharm会指定使用该编码打开文件,且不可更改,但实际的编码可能与表头不同,导致使用pycharm是会乱码。(当然你可以使用VS或其他IDE,它们没有这个问题。)本文针对pychram的问题提出方案。
我的项目内容使用了python语言编写, 实际编码格式为”GBK”, 而头标注是”UTF8”
- 思路:下载官方IDEA编写插件重写PythonFileType.class
- 希望你会java, 不会也行吧,需要安装jdk
- 注意备份
- 关闭工程, 设置编辑器为当前的文件类型
- 关闭编辑器,打开pycharm的lib目录的pycharm.jar, 使用压缩软件将com\jetbrains\python\PythonFileType.class解压出来
- 使用文本编辑器编辑PythonFileType.class文件,查找字符串”coding”
- 你可以找到coding[:=]这个位置
- 编辑器实际上就是匹配这个字符串设置的编码,我们可以把它改为任意字符,只要保证字符串的长度和原来相同,保存文件
- 我改为cdding
- 接下来将我们修改过的class文件重新打入到pycharm.jar包,使用管理员权限CMD, 输入jar uvf pytharm.jar com\jetbrains\python\PythonFileType.class
- 把完成后的pycharm.jar替换到lib下即可
- 打开pycharm,虽然头还是utf8,但是已经可以在文件右下角选择编码为GBK了,完成