У меня есть простая форма, которая отправляет изображение в blobstore и заголовок для изображения.
Это работает на моем локальном devserver, но когда я разворачиваю свой код, буквы non ascii в заголовке становятся искаженными какой-то смесью ascii и hex. Например, Ísland становится = CDsland. Обратите внимание: я использую <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
как первое значение в заголовке. Также utf-8 работает для всех моих других форм. Просто многочастная форма, которая становится искаженной. В любом случае это моя форма:
<form action="{{ uploadurl }}" enctype="multipart/form-data" method="post">
<div><label>Title</label><input type="text" name="title" class="string" /></div>
<div><label>Picture</label><input type="file" name="img"/></div>
<div style="margin-top:10px;"><input type="submit" value="Add picture" /></div>
<input type="hidden" value="{{ album.key }}" name="alid"/>
</form>
И это класс, обрабатывающий форму:
# handler for posting photos
class PostPhoto(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
upload_files = self.get_uploads('img')
photourl = images.get_serving_url(str(upload_files[0].key()))
photo = Photo()
#because of multipart/form-data
photo.title = self.request.get("title")
photo.photourl = photourl
photo.photoalbum = PhotoAlbum.get(self.request.get('alid'))
photo.put()
Кто-нибудь знает, как я могу это исправить? Должен ли я делать кодирование/декодирование на стороне сервера? Я пробовал поиск по сайту без каких-либо результатов (python newb), так что это мое последнее средство, прежде чем я просто изменил свой дизайн и разделил формы.