pythonのcmdでの符号化の問題

701 ワード

コーディングの問題
問題1
pythonはutf-8符号化を用いてcmdコマンドで実行され、エラーIOError: [Errno 0] Error解決策設定ウィンドウ文字セット:chcp 65001 set PYTHONIOENCODING=utf-8
問題2UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position
python 2のデフォルトの符号化はascIIであり、コードにutf-8の文字が原因である可能性がある.
解決策utf-8符号化の設定
#   1
#coding=utf-8

#   2
import sys

if sys.getdefaultencoding() != 'utf-8':
    reload(sys)
    sys.setdefaultencoding('utf-8')

問題3
cmd中国語入力と表示の問題
解決策chcpコマンドは文字フォーマットを切り替えます:
chcp 65001   #  utf-8   
chcp 936       #     gbk
chcp 437       #    

     gbk,      utf-8,   :
cmd    :chcp 65001