表格输入,GAE,错误

时间:2013-01-05 15:44:52

标签: python google-app-engine unicode

由于某种原因,我在GAE中获得了西里尔符号的奇怪输入。

在本地环境中一切正常,我得到输入字段中的内容self.request.get('')。 但是在Appspot上,我得到的是“1mxt1czq0snfzq ==”或“0ylqtdgb0yi =”,而不是俄语单词。

在.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"

我被困住了。

修改 是的,它是Base64,你是对的。但为什么GAE使用它呢?在哪里改变它?为什么本地和Appspot中的行为不同?

以同样的形式,我试图将文件传递给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: 是。 https://code.google.com/p/googleappengine/issues/detail?id=2749

看起来像是使用BlobHandler的GAE中的错误。

解决方案: accept-charset =“utf-8”表单,稍后再尝试。

1 个答案:

答案 0 :(得分:2)

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

accept-charset =“utf-8”形式不起作用。

<强>解决方案: 在app.yaml中添加库

- name: webob
  version: "1.2.3"