出于某种原因,我在 GAE 中收到了奇怪的西里尔符号输入。
在本地环境中一切正常,我得到了输入字段中的内容,带有self.request.get('')
. 但是在 Appspot 上,我得到的是“1mxt1czq0snfzq==”或“0ylqtdgb0yi=”,而不是俄语单词。
在.py
!/usr/bin/env python
-*- coding: utf-8 -*-
title = self.request.get('title')
在 .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"形式,稍后再试。