我为非常老的报告系统编写了一个简单的前端,它使用了水晶报表8 Web组件服务器。我需要向这个Web组件发出一个“POST”请求。当我从使用标准UTF-8编码的页面发出请求时,所有表单数据都在UTF-8中传递。这就是问题所在,因为CR8不理解UTF-8 (或者说我错了吗?)我尝试过将accept-charset="ISO-8859-5"和accept-charset="windows-1251"放在参数中,但没有结果。
这里有更多的信息,这是有用的:
因此,我需要烧瓶(jinja2)使用'windows-1251‘编码来呈现模板,因为参数名称和值可以包含西里尔字符。我有办法做到这一点吗?
发布于 2012-11-19 01:56:42
我找到了一个简单的(甚至是愚蠢的)解决方案。我不是return render_template('template.html', params**),而是手动创建请求,并将请求数据和头设置为我所需要的。
看起来是这样:
r = Response()
r.headers['Content-Type'] = 'text/html; charset=windows-1251'
r.data = render_template('template.html', param1 = data).encode('cp1251')看上去是个肮脏的黑客,但很管用。
发布于 2012-11-09 16:44:08
如果您使用的是烧瓶,您读过以下内容:
http://flask.pocoo.org/docs/unicode/
发布于 2021-06-26 11:07:55
在我的例子中,loaders.py有一个硬代码"utf-8“在几个地方,我用"windows-1251”代替了它,对我来说,一切都很好!
https://stackoverflow.com/questions/13303464
复制相似问题