urllib2를 사용하여 웹 페이지를 다운로드하고 MySQL 데이터베이스에 저장하려고합니다. 나는이 오류가 발생하지만python utf-8 HTML의 디코딩 오류
result_text = result.read()
result_text = result_text.decode('utf-8')
가 :
은 데이터 :이 같은 'UTF8'코덱 바이트 디코딩 할 수는 0x88의
이제
는 HTML 메타 태그는 상태 그 인코딩은 실제로 utf-8입니다. 필자는이 라인이 주위에 얻을 관리 : 나쁜 문자를 대체
result_text = result_text.decode('utf-8','replace')
합니다. 그러나, 이것이 다운로드 된 데이터에 문제가 있다는 표시가 아니거나 소중한 문자를 제거하는 것이 아닙니다. IU는 페이지에 JavaScript도 포함되어 있다고 추가해야합니다.
왜 이런 일이 일어 났는지 말해 줄 수 있습니까? 감사
페이지의 모든 문자가 utf-8로되어 있습니까? 헤더가 "거짓말"이 될 수는 있지만 – DonCallisto
"utf8 '코덱은 바이트 0x88을 디코딩 할 수 없으므로 문제가되는 바이트의 위치도 알려야합니다. 위치가'n'이라면'decode ('utf-8') 호출 전에 print 문을 추가하고,'print (repr (result_text [n-20 : n + 결과는 여기에있다. – unutbu
소스 데이터에 대한 링크를 게시하지 않았으므로 적절한 대답을 드릴 수는 없습니다. 그러나 원본 데이터의 인코딩은 잘못된 UTF-8 인코딩 일 가능성이 높으며 사용자가 취할 수있는 방법이 없습니다. –