DarkSky API를 쿼리하는 요청을 사용하면 UTF-8로 인코딩 된 문서가 반환되지만 string은 오류가있는 ASCII로 기본 설정됩니다. UTF-8로 명시 적으로 인코딩하면 오류는 없지만 문자열에는 추가 문자와 원시 유니 코드가 포함됩니다. 무슨 일이야? 하위 파일에서 UTF-8 인코딩을 사용하도록 py 파일을 설정했습니다. 반환파이썬 요청은 UTF-8이라고 말합니다. 그렇다면 유니 코드 문자는 왜 아직도 존재합니까?
# Fetch weather data from DarkSky, parse resulting JSON
try:
url = "https://api.darksky.net/forecast/" + API_KEY + "/" + LAT + "," + LONG + "?exclude=[minutely,hourly,alerts,flags]&units=us"
response = requests.get(url)
data = response.json()
print(response.headers['content-type'])
print(response.encoding)
: 리턴 application/json; charset=utf-8
d_summary = data['daily']['summary']
print("Daily Summary: ", d_summary.encode('utf-8'))
: Daily Summary: b'No precipitation throughout the week, with temperatures rising to 82\xc2\xb0F on Tuesday.'
유니 코드 텍스트 앞에 추가 문자와 인용 문자열로 무슨 일이야
?
Mac에서는 Sublime을 사용하지만 여전히 문제가 될 수 있습니다. 파이썬 3.6.3에서 같은 코드를 실행합니다. IDE는 유니 코드 텍스트와 기호를 잘 표시합니다. 먼저 서브리스트에서 오류 : 'print ("일간 요약 :"d_summary)'는 UnicodeEncodeError : 'ascii'코덱이 69 바이트 문자 '\ xb0'을 인코딩 할 수 없습니다 : 서수가 범위 내에 있지 않습니다 (128)' IDE에서 동일한 d_summary를 인쇄하면'주간 내내 강수량 없음, 목요일 밤 기온이 64 ° F까지 떨어집니다. ' – Ben
Ah! https://stackoverflow.com/questions/39576308/printing-utf-8-in-python-3-using-sublime-text-3처럼 들립니다. – bobince
정말 고마워요! 나는 아직 코딩에 익숙하지 않아이 시간을 버렸습니다. 마지막으로 무슨 일이 있었는지와 문제를 해결하는 방법을 이해하게되어 기쁘다! – Ben