[Python]PythonとPyCharmの中国語表示の問題

1547 ワード

最近Python爬虫類を作成しているPython 2.7中国語IDEの表示はとても卵が痛いです.
私が使っているIDEはPyCharm 2018.1です...
這い出したデータは中国語で表示されないことが多い(print文の鍋の大部分を推定する.)特にまとめておきたいのは、
1.各々.pyファイルの先頭に追加
# -*- coding:utf-8 -*-

これでいいです.pyファイルに中国語が表示されます.例えば、中国語の注釈などです.この宣言はprintコンテンツやファイル出力とは何の関係もありません.
2.登ったJSON解析後ずっとprintが'xe 8xbcxaaxe 3'に似たunicodeコード
いろいろ试しても无駄ですが、特に変な时に解析の时にエスケープ文字を追加した可能性があることを発掘しました....例えば'xe 8'は'\xe 8'に従って保存されています...だからstring_Escapeやってみたら、やっぱり無事に出力できました..大きな問題を解決した
print(str(painterMap).decode('string_escape'))

3.PyCharm設定
pycharm出力に正しい中国語を表示させるには、File->Settings->File encoding->utf-8ここで私のプロジェクトencodingをsystem default(GBK)に設定してもいいようです.
4.中国語の文字化けし
文字化けしに遭遇した場合95%は符号化の問題である.decode()/encode()で解決...具体的にデータのコードを抽出して具体的に分析します
    str1 = u'   '  # unicode Chinese Chars
    str2 = str1.encode('gb2312')  # encode str1 with gbk coding
    str3 = str1.encode('utf-8')  # encode str1 with utf-8 coding
    str4 = str2.decode('gb2312')  # decode str1 with gbk coding
    print(str1)
    print(str2)
    print(str3)
    print(str4)

5.中国語のパス
中国語のパスを入力してファイルを取得すると、ファイルが存在しないことを教えてくれます...
例:D:python年末総括.docx
パスをunicodeで暗号化する必要があります:(r'xxx'は強制的にエスケープしないことを示します)
path = unicode(r'D:\python\    .docx', 'utf8')

またはu'XXX'を直接使用します.
file = open(u'D:\\python\\    .docx', 'rb')