Utf 8 加载文件时出现odoo V8编码错误,请将其存储在二进制字段中,然后尝试对其进行解析
我有一个暂时的目标:Utf 8 加载文件时出现odoo V8编码错误,请将其存储在二进制字段中,然后尝试对其进行解析,utf-8,base64,openerp,binaryfiles,odoo-8,Utf 8,Base64,Openerp,Binaryfiles,Odoo 8,我有一个暂时的目标: class新建\u导入(models.TransientModel): _名称='new.import' data\u file=fields.Binary('文件') 我调用向导在二进制字段中加载文件,然后我想解析它 在解析文件的函数中,我执行以下操作: data\u file=base64.b64解码(self.data\u文件) lines=data\u file.split('\n') 对于行中的行: 结果=行[6:11] 但是当我读这些行的时候,如果有一个特殊
class新建\u导入(models.TransientModel):
_名称='new.import'
data\u file=fields.Binary('文件')
我调用向导在二进制字段中加载文件,然后我想解析它
在解析文件的函数中,我执行以下操作:
data\u file=base64.b64解码(self.data\u文件)
lines=data\u file.split('\n')
对于行中的行:
结果=行[6:11]
但是当我读这些行的时候,如果有一个特殊的字符,那么所有行的长度都不一样
该文件在原点为utf8
当以二进制格式保存文件,然后解码回字符串时,这一定是一个错误
如果我直接用python读取文件,而不将其存储在二进制字段中,则可以正确读取:
codecs.open(文件,mode='r',encoding='utf-8')
结果=行[6:11]。编码('utf-8')
如何避免将文件存储在base64中,或者如何在正确解码为字符串后执行此操作
提前感谢无法使用二进制字段执行此操作。当文件存储在base64中时,某些信息丢失,然后无法通过base64.B64解码将其恢复。我将尝试解析不带二进制字段的字段。问题在于用户如何选择表单中的文件。有什么想法吗?我面临着同样的问题,有什么新的想法吗?没有办法用二进制字段。当文件存储在base64中时,某些信息丢失,然后无法通过base64.B64解码将其恢复。我将尝试解析不带二进制字段的字段。问题在于用户如何选择表单中的文件。有什么想法吗?我面临同样的问题,有什么新想法吗?