UnicoDeenCodeError : 'ASCII'코덱은 데이터베이스에서 Ã © Ã © n으로 인해 문자를 인코딩 할 수 없습니다.

StackOverflow https://stackoverflow.com//questions/24052342

문제

이 부분을 가진 문자열이 포함 된 데이터베이스에서 가져올 필드가 있습니다.이 일을 얻는 동안 오류가 발생합니다 :

"UnicoDeenCodeError : 'ASCII'코덱은 12-15 위치의 문자를 인코딩 할 수 없습니다 : 서수는 범위가 아닙니다 (128)"

이 오류를 검색했으며, 다른 사람들은이 u'\xa0 등을 시작하는 유니코에 의해 문제가 있었지만 내 경우에는 특별한 문자로 인해 생각합니다.데이터베이스에서 내 액세스하에 있지 않으면 데이터베이스에서 변경할 수 없습니다.나는 그냥 액세스 할 수 있습니다.

코드는 다음과 같습니다. (실제로 외부 URL에 대한 호출)

req = urllib2.Request(url)
req.add_header("Content-type", "application/json")
res = urllib2.urlopen(req,timeout = 50)         #50 secs timeout
clientid = res.read()
result = json.loads(clientid)
.

그런 다음 결과 변수를 사용하여 위에서 언급 한 문자열을 얻고이 줄에 오류가 발생합니다.

updateString +="name='"+str(result['product_name'])+"', "
.

도움이 되었습니까?

해결책

데이터베이스에 삽입되기 전에 데이터에 사용되는 인코딩을 찾아야합니다.그것이 가장 흔한 이래로 UTF-8을 가정 해 봅시다.

ASCII 디코드 대신 UTF-8 디코드를 원할 것입니다.코드를 제공하지 않았으므로 "data".decode()가있는 것으로 가정합니다."data".decode("utf-8")를 시도 하고이 인코딩을 사용하여 데이터가 인코딩 된 경우 작동합니다.

다른 팁

이므로 문자열이 이미 유니 코드였던 것처럼 들리 었습니다.따라서 해당 줄에서 str()unicode 기능을 제거하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top