From 0708942ab85817af41e64f06e7dba9beb6b0ca87 Mon Sep 17 00:00:00 2001 From: Stian Vikan Date: Fri, 19 Aug 2016 12:09:40 +0200 Subject: [PATCH] Fixed csv reader to handle special characters --- netbox/utilities/forms.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/netbox/utilities/forms.py b/netbox/utilities/forms.py index 4cbc1028b..c86496829 100644 --- a/netbox/utilities/forms.py +++ b/netbox/utilities/forms.py @@ -142,10 +142,15 @@ class CSVDataField(forms.CharField): if not self.help_text: self.help_text = 'Enter one line per record in CSV format.' + def utf_8_encoder(self, unicode_csv_data): + # convert csv,reader to utf-8e + for line in unicode_csv_data: + yield line.encode('utf-8') + def to_python(self, value): # Return a list of dictionaries, each representing an individual record records = [] - reader = csv.reader(value.splitlines()) + reader = csv.reader(self.utf_8_encoder(value.splitlines())) for i, row in enumerate(reader, start=1): if row: if len(row) < len(self.columns):