2013-01-05 13 views
6

Per qualche motivo, sto ricevendo strani input per i simboli cirillici in GAE.Input da modulo, GAE, errato

Nell'ambiente locale funziona tutto bene, ottengo quello che era nel campo di input, con self.request.get(''). Ma su Appspot, ottengo "1mxt1czq0snfzq ==" o "0ylqtdgb0yi =" per esempio, invece di parole russe.

in .py

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

in .html

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

mi sono bloccato.

MODIFICA: Sì, è Base64, hai ragione. Ma perché GAE lo usa? E dove cambiarlo? Perché il diverso comportamento in locale e in Appspot?

Nella stessa forma che sto cercando di ottenere il file da 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: Sì. https://code.google.com/p/googleappengine/issues/detail?id=2749

Sembra un bug in GAE con BlobHandler.

Soluzione: accept-charset = "utf-8" in forma, provandolo più tardi.

+4

Che assomiglia a dati 'base64' codificati ... – aviraldg

risposta

2

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

accept-charset = lavoro "utf-8" in forma dont.

Soluzione: in app.yaml aggiungere biblioteca

- name: webob 
    version: "1.2.3" 
+0

È questo la soluzione o una soluzione alternativa? –

+0

Soluzione, come vedo. Utilizzando l'ultima versione della libreria con correzione di errori. –

+0

Ha funzionato per me, grazie! –