File 如何更改ODOO12QWeb文本文件的编码

File 如何更改ODOO12QWeb文本文件的编码,file,text,encoding,odoo,qweb,File,Text,Encoding,Odoo,Qweb,Odoo12使用Python3.5+WHO,默认编码为utf-8。我有一个自定义模块,可以通过模板report\u type=“qweb text”生成txt文件,客户网站上生成的文件和下载的文件分别采用utf-8编码。我需要它在cp1252里。有什么提示可以做到这一点吗?我正考虑如本文所述动态更改sys属性,但对可能发生的情况有些担心。欢迎提出任何其他建议 您可以尝试对modelir.actions.report的方法render\u qweb\u text的返回值进行编码。我不喜欢论坛的答案

Odoo12使用Python3.5+WHO,默认编码为utf-8。我有一个自定义模块,可以通过模板
report\u type=“qweb text”
生成txt文件,客户网站上生成的文件和下载的文件分别采用utf-8编码。我需要它在cp1252里。有什么提示可以做到这一点吗?我正考虑如本文所述动态更改sys属性,但对可能发生的情况有些担心。欢迎提出任何其他建议

您可以尝试对model
ir.actions.report
的方法
render\u qweb\u text
的返回值进行编码。我不喜欢论坛的答案,因为这就像用大锤敲碎一颗坚果。我试过这个:''def render_qweb_text(self,docids,data=None):如果不是data:data={}data.setdefault('report_type','text')data=self。''get_rendering_context(docids,data)#data=data.decode('cp1252'))返回self.render_template(self.report_name,data),'text''”
def render_qweb_text(self,docids,data=None):如果不是data:data={}data.setdefault('report_type','text')data=self.\u获取_rendering_上下文(docids,data)#data=data.decode('cp1252')返回self.render_模板(自我报告名称、数据),“text”
但是
数据
对象是dict类型,不接受
解码
任何其他想法?你可以尝试对model
ir.actions.report的返回值进行编码。report
的方法
呈现qweb\u text
。我不喜欢论坛的答案,因为这就像用大锤敲开坚果一样。我试过这个:''def render_qweb_text(self,docids,data=None):如果不是data:data={}data.setdefault('report_type','text')data=self._get_rendering_context(docids,data)#data=data.decode('cp1252')返回self.render_模板(self.report_name,data),'text''.
def render_qweb_text(self,docid,data=None):如果不是数据:data={}data.setdefault('report_type','text')data=self.\u get_rendering_context(docid,data)#data=data.decode('cp1252')返回self.render_模板(self.report_名称,data)“文本”
数据
对象是dict类型,不接受
解码
任何其他想法?