0

これはコードです (chardet( https://pypi.python.org/pypi/chardet ) - ユニバーサル エンコーディング検出器)

import chardet

try: 
    for f in os.listdir(path):
        print f, chardet.detect(f)['encoding'], f.decode(chardet.detect(f)['encoding'])
except Exception, e: 
    print str(e)

出力

qiwi2.sql ascii qiwi2.sql
www ascii www
’ҐЄбв®ўл© ¤®Єг¬Ґ­в.txt windows-1252 
'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)
4

1 に答える 1

1

問題は にありprintます。コンソール出力に使用するエンコーディングがわからないため、 を想定ASCIIし、encode自動的に実行して失敗します。自分でやればうまくencodeいくはずです。

print f, chardet.detect(f)['encoding'], f.decode(chardet.detect(f)['encoding']).encode('utf-8')
于 2013-11-03T04:50:37.210 に答える