diff --git a/sql_export/models/sql_export.py b/sql_export/models/sql_export.py index 21a0d2601..0cdf5bc76 100644 --- a/sql_export/models/sql_export.py +++ b/sql_export/models/sql_export.py @@ -45,6 +45,14 @@ class SqlExport(models.Model): 'Parameters', domain=[('model', '=', 'sql.file.wizard')]) + encoding = fields.Selection( + [('utf-8', 'utf-8'), ('utf-16', 'utf-16'), + ('windows-1252', 'windows-1252'), ('latin1', 'latin1'), + ('latin2', 'latin2'), ('big5', 'big5'), ('gb18030', 'gb18030'), + ('shift_jis', 'shift_jis'), ('windows-1251', 'windows-1251'), + ('koir8_r', 'koir8_r')], string='Encoding', required=True, + default='utf-8') + @api.multi def export_sql_query(self): self.ensure_one() diff --git a/sql_export/views/sql_export_view.xml b/sql_export/views/sql_export_view.xml index 39f2d5deb..2df21f33e 100644 --- a/sql_export/views/sql_export_view.xml +++ b/sql_export/views/sql_export_view.xml @@ -25,6 +25,7 @@ + diff --git a/sql_export/wizard/wizard_file.py b/sql_export/wizard/wizard_file.py index 3f62198a7..444a987be 100644 --- a/sql_export/wizard/wizard_file.py +++ b/sql_export/wizard/wizard_file.py @@ -89,7 +89,8 @@ class SqlFileWizard(models.TransientModel): res = sql_export._execute_sql_request( params=variable_dict, mode='stdout', copy_options=sql_export.copy_options) - + if self.sql_export_id.encoding: + res = res.encode(self.sql_export_id.encoding) self.write({ 'binary_file': res, 'file_name': sql_export.name + '_' + date + '.csv'