2016-06-26 4 views
0

파이썬 2.7을 사용하고 있는데 "ä"와 같은 문자를 "ae"로 변환하는 데 문제가 있습니다. 그 후파이썬 문자열 인코딩 유니 코드

req = urllib2.Request(url + str(questionID)) 
response = urllib2.urlopen(req) 
data = response.read() 

좀 추출 물건을하고있어 내 문제가 :

내가 사용하는 웹 페이지의 콘텐츠를 검색하고 있습니다.

extractedStr = pageContent[start:end] // this string contains the "ä" ! 
extractedStr = extractedStr.decode("utf8") // here I get the error, tried it with encode aswell 
extractedStr = extractedStr.replace(u"ä", "ae") 

-> 'UTF8'코덱의 위치는 13 바이트 0xe4을 디코딩 할 수 없습니다 무효 연속 바이트

하지만 내 간단한 시험은 잘 작동 ... :

someStr = "geräusch" 
someStr = someStr.decode("utf8") 
someStr = someStr.replace(u"ä", "ae") 

나는 느낌을 가지고있다. 그것은 .decode() 함수를 사용할 때와 관련이있다 ... 나는 여러 위치에서 아무런 성공도 시도하지 않았다. (

+0

'.decode ("latin-1")' –

+1

잘 작동 함, thx. –

+0

데이터가 라틴 -1로 인코딩되었으므로 charset은 content-type의 헤더에 있어야합니다. –

답변

-1

대신 .decode("latin-1")을 사용한다. tryi이다. 디코딩 할 수 없습니다.

관련 문제