diff options
| -rw-r--r-- | ishtar_common/views_item.py | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 6f5dba236..dd44fb411 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -11,6 +11,7 @@ import logging  import re  import subprocess  from tempfile import NamedTemporaryFile +import unidecode  from django.conf import settings  from django.contrib.gis.geos import GEOSException @@ -1993,7 +1994,17 @@ def get_item(model, func_name, default_name, extra_request_keys=None,                              delta += 1                              val += data[1:][idx + delta]                      row.append(val) -                writer.writerow(row) +                try: +                    writer.writerow(row) +                except UnicodeEncodeError: +                    vals = [] +                    for v in row: +                        try: +                            vals.append(v.encode(ENCODING).decode(ENCODING)) +                        except UnicodeEncodeError: +                            vals.append(unidecode(v).encode(ENCODING).decode( +                                ENCODING)) +                    writer.writerow(vals)              return response          return HttpResponse('{}', content_type='text/plain') | 
