diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index 616e3859b8a..083ef4a5adc 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -4821,6 +4821,12 @@ msgstr "" msgid "A9 13 37 x 52 mm" msgstr "" +#. module: base +#: code:addons/fields.py:1687 +#, python-format +msgid "ASCII characters are required for %s in %s" +msgstr "" + #. module: base #: model:ir.model.fields,field_description:base.field_res_partner_title__shortcut msgid "Abbreviation" diff --git a/odoo/fields.py b/odoo/fields.py index 3f7b734796d..39fe7825e30 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -1681,7 +1681,10 @@ class Binary(Field): return None if isinstance(value, bytes): return psycopg2.Binary(value) - return psycopg2.Binary(pycompat.text_type(value).encode('ascii')) + try: + return psycopg2.Binary(pycompat.text_type(value).encode('ascii')) + except UnicodeEncodeError: + raise UserError(_("ASCII characters are required for %s in %s") % (value, self.name)) def convert_to_cache(self, value, record, validate=True): if isinstance(value, _BINARY):