Windows 命令行下解决python utf-8中文输出的终极解决方案!
2012-12-27 11:35
741 查看
代码参考了这里:http://wiki.python.org/moin/PrintFails
上文对各种系统无法输出奇葩编码的字符做了总结,本文中只针对windows cmd下GBK编码(cp936)但想执行utf-8编码的python文件进行修改。
原理就是:
Another is to put an intercept between sys.stdout, and the text wrapper.
更多还是看参考文章吧,这里直接贴代码:
保存成一个py文件,直接import即可。
这样就实现了linux下和windows下兼容了~
上文对各种系统无法输出奇葩编码的字符做了总结,本文中只针对windows cmd下GBK编码(cp936)但想执行utf-8编码的python文件进行修改。
原理就是:
Another is to put an intercept between sys.stdout, and the text wrapper.
更多还是看参考文章吧,这里直接贴代码:
# -*- coding: utf-8 -*- import sys class UnicodeStreamFilter: def __init__(self, target): self.target = target self.encoding = 'utf-8' self.errors = 'replace' self.encode_to = self.target.encoding def write(self, s): if type(s) == str: s = s.decode("utf-8") s = s.encode(self.encode_to, self.errors).decode(self.encode_to) self.target.write(s) if sys.stdout.encoding == 'cp936': sys.stdout = UnicodeStreamFilter(sys.stdout) if __name__ == "__main__": a = "你好" b = u"你好" print a print b
保存成一个py文件,直接import即可。
这样就实现了linux下和windows下兼容了~
相关文章推荐
- Windows 命令行下解决python utf-8中文输出的终极解决方案!
- windows下解决python输出utf-8中文
- Python在Windows环境下命令行中使用UTF-8编码输出乱码解决
- Python 3.0 在Windows 命令行下输出中文
- 解决Python的print中文在windows命令行乱码问题
- Python3解决UnicodeDecodeError: 'utf-8' codec can't decode byte..问题 终极解决方案
- python中遇到包含UTF-8编码中文的列表或字典的输出的解决方法
- python中遇到包含UTF-8编码中文的列表或字典的输出的解决方法
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- 在windows下的qt5.7.1 的纯C或C++项目命令行中文乱码、无法编译等问题解决
- python程序中文输出问题怎么解决?
- vim、gvim在windows下中文乱码的终极解决方案
- utf-8编码引起js输出中文乱码的解决办法
- Sublime Text 3 运行Python控制台不能输出中文的解决方法
- python 1: 解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题
- Redis命令行中文乱码解决改UTF-8
- 解决python脚本 在cmd命令行窗口运行时,中文乱码问题
- Python3 configparser读取含有中文配置config.ini(Windows)显示乱码的解决方法
- 解决python程序中文输出问题两法
- 关于python的命令行输出中文