2017-12-22 18 views
-1

알 수없는 문자 해독 : (정말 또는 아무것도) UTF-8로 UKLTD� For을하지만 난 그것을 운동을 수행하는 방법과파이썬은 나는 다음과 디코딩하기 위해 노력하고있어

'아스키'코덱처럼 점점 오류를 유지할 수 없습니다 위치 8 바이트 0xae를 디코딩 할 수 범위 (128)

는 I는 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')