2017-12-22 17 views
-1

をデコード:UTF-8に UKLTD� For(または何か本当に)が、私はそれを行うとPythonは、私は次のことを解読しようとしている未知の文字

のようなエラーが発生して維持するためにどのようにワークアウト「ASCII」コーデックはできません8位バイト0xAEのをデコードすることはできません:序は 範囲(128)

に私はcsvファイルから読んでいると、次ていません。

with open(path_to_file, 'rb') as f: 
    reader = csv.reader(f) 
    for row in reader: 
     order = Order(
      ... 
      product_name = row[11].encode('utf-8'), 
      ... 
     ) 
     order.save() 

文字列の残りの部分を残しておけば、文字を無視するだけで今はうれしいでしょう。

+2

「0xae」も有効なUTF-8バイトではありません。それは別の文字セットかもしれません(ISO-8859-1おそらく?)文字があるはずであることをご存知ですか? ISO-8859-1ではⓡ(登録商標)です。 –

+0

tryとexceptを使用する以外は、 'product_name = row [11] .encode( 'utf-16')' –

+0

を使用してください。 https://stackoverflow.com/questions/21129020/how-to-fix -unicodedecodeerror-ascii-codec-cant-decode-byte –

答えて

0

ありがとうございます@BartFriederichs。

解決策は次のとおりです。product_name = row[11].decode('iso-8859-1').encode('utf8')

関連する問題