首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶(使用jinja2)可以使用“windows-1251”编码呈现模板吗?

烧瓶(使用jinja2)可以使用“windows-1251”编码呈现模板吗?
EN

Stack Overflow用户
提问于 2012-11-09 06:51:44
回答 3查看 3.4K关注 0票数 3

我为非常老的报告系统编写了一个简单的前端,它使用了水晶报表8 Web组件服务器。我需要向这个Web组件发出一个“POST”请求。当我从使用标准UTF-8编码的页面发出请求时,所有表单数据都在UTF-8中传递。这就是问题所在,因为CR8不理解UTF-8 (或者说我错了吗?)我尝试过将accept-charset="ISO-8859-5"accept-charset="windows-1251"放在参数中,但没有结果。

这里有更多的信息,这是有用的:

  • 这个前端将在Windows 2003上使用IIS6,
  • 只有合适的浏览器才是IE,因为CR8使用ActiveX组件。(还有一个java插件,但由于某种原因,它根本不起作用)。

因此,我需要烧瓶(jinja2)使用'windows-1251‘编码来呈现模板,因为参数名称和值可以包含西里尔字符。我有办法做到这一点吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-19 01:56:42

我找到了一个简单的(甚至是愚蠢的)解决方案。我不是return render_template('template.html', params**),而是手动创建请求,并将请求数据和头设置为我所需要的。

看起来是这样:

代码语言:javascript
复制
r = Response()
    r.headers['Content-Type'] = 'text/html; charset=windows-1251'
    r.data = render_template('template.html', param1 = data).encode('cp1251')

看上去是个肮脏的黑客,但很管用。

票数 1
EN

Stack Overflow用户

发布于 2012-11-09 16:44:08

如果您使用的是烧瓶,您读过以下内容:

http://flask.pocoo.org/docs/unicode/

票数 0
EN

Stack Overflow用户

发布于 2021-06-26 11:07:55

在我的例子中,loaders.py有一个硬代码"utf-8“在几个地方,我用"windows-1251”代替了它,对我来说,一切都很好!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13303464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档