#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, locale
print(sys.stdout.encoding, sys.getdefaultencoding(), locale.getpreferredencoding())
print('你好,世界')
python 版本 3.6.3,中文 Windows 7 系统,cmd 下执行以下命令
C:\Users\>python p.py
utf-8 utf-8 cp936
你好,世界
C:\Users\>python p.py > p.txt
p.txt 编码为 ANSI,内容为
cp936 utf-8 cp936
你好,世界
sys.stdout.encoding的结果不同,为什么呢?