0

私は次のようなあらすじを持っています:

synopsis = 'Eine Geschichte, wie im normalen Leben... Der als äußerst vorsichtig 
            geltende Risikoanalytiker Ruben verlässt seine Frau,...'

これをファイルに書き込もうとしていますが、実行し続けます:

UnicodeEncodeError: 'ascii' コーデックは位置 705 の文字 u'\xe4' をエンコードできません: 序数が範囲内にありません(128)

これが私が試したことです:

synopsis = unicode(synopsis)
new_file.write('%s' % synopsis)

synopsis = synopsis.encode('utf-8')
new_file.write('%s' % synopsis)

さらに# # -*- coding: utf-8 -*-、ファイルの先頭に指定しました。

なぜこれが発生し、どうすれば修正できますか?

4

1 に答える 1

1

どうやって開いていnew_fileますか?

import codecs
new_file = codecs.open('out', mode='w', encoding='utf-8')

これにより、UTF-8 としてエンコードされる Unicode 文字列をファイルに書き込むことができるようになります。

(特に設定しない限り、sys.getdefaultencoding()is'ascii'であり、新しく開いたファイルのエンコーディングに影響します。)

于 2012-08-10T23:21:05.063 に答える