Кодек 'ascii' не может закодировать символ '\u2013' при работе с файлами в python (Django)
Я написал код, который сохраняет определенное изображение, которое было получено через API с помощью django и т.д...
этот модуль сохраняет полученное изображение в некоторой директории, и он отлично работает с некоторыми изображениями, но имеет проблему с другими, также, эта проблема происходит на моем реальном живом сайте и не происходит на localhost. модуль выглядит следующим образом:
def save_poster(json_data):
import os
title = json_data['Title'] + ' ' + json_data['Year']
poster_url = json_data['Poster']
# Splits the poster url by '.' and picks up the last string as file extension
poster_file_extension=poster_url.split('.')[-1]
# Reads the image file from web
poster_data = urllib.request.urlopen(poster_url).read()
savelocation=os.getcwd()+'\\'+ 'Core' + '\\' + 'Posters'+'\\'
# Creates new directory if the directory does not exist. Otherwise, just use the existing path.
if not os.path.isdir(savelocation):
os.mkdir(savelocation)
filename=savelocation+str(title)+'.'+poster_file_extension
f=open(filename,'wb')
f.write(poster_data)
f.close()
return filename
При попытке использовать API я получаю следующую ошибку:
UnicodeEncodeError at /api/film/film/create/
'ascii' codec can't encode character '\u2013' in position 52: ordinal not in range(128)