python Windowsシステムcmdに中国語文字を出力するピット!

1061 ワード

同僚がpy 3で書いたプログラムを引き継いで、アップルのパソコンに書いた出力テストのコードは似ています.
print('        ',artid,ip,tit)

Windowsシステムでデバッグして出力しました
('\xe6\x97\xa0\xe6\xb3\x95\xe8\x8e\xb7\xe5\x8f\x96\xe6\x90\x9c\xe7\xb4\xa2\xe5\x86\x85\xe5\xae\xb9', 1, '127.0.0.1', '\xe6\x88\x91\xe5\xb0\xb1\xe6\x98\xaf\xe6\x88\x91\xef\xbc\x8c\xe4\xb8\x8d\xe4\xb8\x80\xe6\xa0\xb7\xe7\x9a\x84\xe7\x83\x9f\xe7\x81\xab')

さらに、
print(u'        ',artid,ip,tit)

やはり私にこのような出力をしてくれました.
(u'\u65e0\u6cd5\u83b7\u53d6\u641c\u7d22\u5185\u5bb9', 1, '127.0.0.1', u'\u6211\u5c31\u662f\u6211\uff0c\u4e0d\u4e00\u6837\u7684\u70df\u706b')

ネット上でたくさんの解決方法を探して、文字の符号化を変更して、ファイルの符号化、cmd出力の符号化はすべて解決していないで、N多くの方法をテストしてすべて正常なテストの情報を見ることができません
最后に最も愚かな方法を使って、1行1行印刷して、意外にもOKになって、原理はしばらくまだ理解していないで、しかし先にこの穴を记录します!
print(u'        ')
print(artid)
print(ip)
print(tit)
        
1
127.0.0.1
    ,