UnicoDeenCodeError : 'ASCII'코덱은 데이터베이스에서 Ã © Ã © n으로 인해 문자를 인코딩 할 수 없습니다.
-
21-12-2019 - |
문제
이 부분을 가진 문자열이 포함 된 데이터베이스에서 가져올 필드가 있습니다.이 일을 얻는 동안 오류가 발생합니다 :
"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
기능을 제거하십시오.
제휴하지 않습니다 StackOverflow