2013-01-05 19 views
6

Z jakiegoś powodu otrzymuję dziwne dane wejściowe dla symboli cyrylicy w GAE.Dane wejściowe z formularza, GAE, nieprawidłowe

W lokalnym środowisku wszystko działa dobrze, otrzymuję to, co było w polu wejściowym, z self.request.get(''). Ale na Appspot dostaję "1mxt1czq0snfzq ==" lub "0ylqtdgb0yi =" na przykład zamiast rosyjskich słów.

w .py

!/usr/bin/env python 
-*- coding: utf-8 -*- 
title = self.request.get('title') 

w .html

meta charset="utf-8" 
input type="text" name="title" id="title" 

utknąłem.

EDYCJA: Tak, to jest Base64, masz rację. Ale dlaczego używa go GAE? I gdzie to zmienić? Dlaczego różne zachowania w aplikacjach lokalnych i w Appspot?

W tej samej formie Próbuję pobrać plik do BlobHandler

<form class="form-horizontal" action="{{ upload_url }}" method="POST" enctype="multipart/form-data"> 
    <div class="control-group"> 
    <label class="control-label" for="title">Title</label> 
    <div class="controls"> 
     <input type="text" name="title" id="title"> 
    </div> 
    </div> 
    <div class="control-group"> 
    <label class="control-label" for="file">Load image</label> 
    <div class="controls"> 
     <input type="file" name="file" id="file" accept='image/*' required="required"> 
    </div> 
    </div> 

EDIT2: Tak. https://code.google.com/p/googleappengine/issues/detail?id=2749

Wygląda jak błąd w GAE z BlobHandler.

Rozwiązanie: accept-charset = "utf-8" w formie, próbując tego później.

+4

To wygląda 'base64' zakodowane dane ... – aviraldg

Odpowiedz

2

Bug: https://code.google.com/p/googleappengine/issues/detail?id=2749

accept-charset = praca "UTF-8" w postaci nie.

Rozwiązanie: w app.yaml dodać bibliotekę

- name: webob 
    version: "1.2.3" 
+0

Czy to rozwiązanie lub obejście? –

+0

Rozwiązanie, jak widzę. Używanie najnowszej wersji biblioteki z naprawą błędu. –

+0

Pracowałem dla mnie, dzięki! –

Powiązane problemy