由于某种原因,我在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”表单,稍后再尝试。
答案 0 :(得分:2)
错误:https://code.google.com/p/googleappengine/issues/detail?id=2749
accept-charset =“utf-8”形式不起作用。
<强>解决方案强>: 在app.yaml中添加库
- name: webob
version: "1.2.3"