2

これが私のコードです(私は python 2.7 を使用しています)

    result = " '{0}' is unicode or something: ".format(mongdb['field'])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 27: ordinal not in range(128)

mongodb から読み取った文字列に Unicode が含まれているようです。そして、このエラーがスローされます。このユニコードをカスタム文字列 'is unicode or something:' と連結するように修正するにはどうすればよいですか?

前もって感謝します

アップデート

result = u" '{0}' is unicode or something: ".format(mongdb['field']) 

私のために働く

4

2 に答える 2

9

フォーマット文字列を使用しunicodeます (推奨):

result = u" '{0}' is unicode or something: ".format(mongdb['field'])

またはフィールドをエンコードします。

result = " '{0}' is unicode or something: ".format(mongdb['field'].encode('utf-8'))
于 2013-09-13T22:28:25.910 に答える
1

MongoDB から出力されるテキストが実際にどのエンコーディングに入っているかを知る必要があります \xB0。UTF-8 ではなく Windows-1252 が提案されているので、これを試してください。

 result = ("'{0}' is unicode or something"
           .format(mongdb['field'].decode('windows-1252'))
于 2013-09-13T22:29:04.007 に答える