0

Pythonで解析すると、次のメッセージで次のエラーが発生します。メッセージはjsonファイルからのものですメッセージ:

"Daca nu il stiti déjà, cu siguranta o sa va smulga un zambet. O portie de motivatie pentru toata lumea. :)", 

エラー:

Traceback (most recent call last):
  File "C:\Users\X\Desktop\store_post.py", line 328, in <module>
    post_l_1 =jsonToPost.return_post_list(data2)
  File "C:\Users\X\Desktop\jsonToPost.py", line 20, in return_post_list
    post_message = json.dumps(read_,sort_keys = True, indent =2,skipkeys=True)
  File "C:\Python27\lib\json\__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "C:\Python27\lib\json\encoder.py", line 195, in encode
    return encode_basestring_ascii(o)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 18: invalid continuation byte

関連するコードスニペットは次のとおりです。

post_message = json.dumps(read_,sort_keys = True, indent =2,skipkeys=True)
post_message = json.loads(post_message)
4

2 に答える 2

0

「メッセージを含む文字列であり、ASCIIに変換してから、データベースにダンプします。」

示されている文字列にはASCII表現がないため、「asciiに変換する」は意味がありません。また、モジュールを使用して、モジュールが設計されjsonたジョブを実行しようとしているようです。私の推測では、あなたは実際に文字列を「déjà」をエンコードできるISO-8859-1codecsに変換しようとしていると思います

おそらく、すべてのソフトウェア開発者の絶対最小値を読んで理解する必要があります。Unicodeと文字セットについて確実に知っておく必要があります(言い訳はできません!) 。そうすれば、理にかなっている質問を投げかけることができます。

于 2012-06-21T23:08:05.123 に答える
0

Unicode は慎重に扱う必要があります。 Pragmatic Unicode、または How Do I Stop The Painに詳細がすべて記載されています。そのバイト文字列がどのエンコーディングを使用しているかを知り、適切にデコードする必要があります。

于 2012-06-22T00:09:49.943 に答える