在命令行终端上工作时,经常遇到的头疼问题之一就是中文乱码。下面来看看python在终端输出乱码的解决方法。
牵涉编码的地方一共有五处:
-
Python代码文件前两行声明的编码
-
Python代码文件实际存储所使用的编码
-
Vim的显示编码
-
Linux系统的文件编码
-
SecureCRT等终端设置的显示编码
严格来说,当这五个代码一致时,如果文件没有损坏,应该可以正常显示。
Python编码声明:
如果python代码文件包含中文,必须在代码文件的前两行做编码声明(注意:必须是前两行),否则python代码默认保存为ASCII,会报错遇到汉字就报错。在代码头声明编码的方式有以下三种:
# coding=<encoding name>
# -*- coding: <encoding name> -*-
# vim: set fileencoding=<encoding name>
Vim中有关编码的选项:
在 Vim 中,有四个与编码有关的选项,它们是:fileencodings、fileencoding、encoding 和 termencoding。
Linux系统的编码设置:
Linux的系统编码设置可以通过设置locale来完成。只需在命令行输入locale,回车即可查看当前系统的编码设置。与保存文件相关的设置是LC_CTYPE。
如LC_CTYPE=zh_CN.gb18030,即把系统的编码设置成为了gb18030。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈