Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Utf 8 加载文件时出现odoo V8编码错误,请将其存储在二进制字段中,然后尝试对其进行解析_Utf 8_Base64_Openerp_Binaryfiles_Odoo 8 - Fatal编程技术网

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解码将其恢复。我将尝试解析不带二进制字段的字段。问题在于用户如何选择表单中的文件。有什么想法吗?我面临同样的问题,有什么新想法吗?