gpt4 book ai didi

python - GAE Python : Cannot figure out how to store UTF-8 in Stringproperty

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:23 25 4
gpt4 key购买 nike

我知道这个主题已经被很多人讨论过,但由于某种原因,我无法在我的 GAE 应用程序上使用 UTF-8 编码。我正在从在线表单中检索德语字符串,然后尝试将其存储在字符串属性中。代码如下:

import from google.appengine.ext import db
import webapp2

class Item(db.Model):
value = db.Stringproperty()

class ItemAdd(webapp2.RequestHandler):
def post(self):
item - Item()
value = str(self.request.get(u'value'))
item.value = value.encode('utf-8')
item.put()

我从中得到的错误是:

File "C:\xxx", line 276, in post
value = str(self.request.get('value'))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 12: ordinal not in range(128)

有人看出我做错了什么吗?

更新

我正在检索的字符串如下:“Dit is een länge”如果我将属性类型更改为 TextProperty 一切正常,但是我需要能够对其进行过滤,这样就无法解决问题。

最佳答案

Webapp2 负责 utf-8。在您的帖子中,webapp2 为您提供了 utf-8 multidict。所以您不必自己做。使用调试器,您可以在 self.request 中找到 multidict

class ItemAdd(webapp2.RequestHandler):

def post(self):
Item(value = self.request.POST('value')).put()

要使用 utf-8,请阅读这篇 sblog 文章,切勿使用:str() !!!!你的 str() 从 unicode 中生成二进制 http://blog.notdot.net/2010/07/Getting-unicode-right-in-Python

使用 python27,您可以使用以下命令启动代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

关于python - GAE Python : Cannot figure out how to store UTF-8 in Stringproperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14612633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com