0

この質問は繰り返されますが、私の文脈では問題の答えが見つかりません。Aéropostalemongo DB に文字列として保存しようとしています:

name='Aéropostale'
obj=Mongo_Object()
obj.name=name
obj.save()

オブジェクトを保存すると、次のエラーが発生します。

UnicodeDecodeError: 'ascii' コーデックは位置 2 のバイト 0xd1 をデコードできません: 序数が範囲外です (128)

文字列を元の形式で保存し、同じ形式で取得するにはどうすればよいですか?

4

1 に答える 1

4

Python 2.7 を使用しているため、いくつかのことを行う必要があります。

  1. ファイルの先頭に次のような文字列を追加して、ファイルの encoding を指定します。

    #coding: utf8
    
  2. 文字列は ASCII ではないため、ユニコード文字列を使用し、エンコーディングを指定します。ここでは、次を含む utf8 を使用していますé

    name = unicode('Aéropostale', 'utf8')
    
于 2014-04-15T06:23:19.123 に答える