When CSV2IATI-backend opens a CSV file it is an encoded string, which is later decoded with the relevant character encoding. However, when grouping the data (if the multiple option is enabled) a decdoded (python unicode type) string is used as a key of undecoded data. This works provided the encoding is simply ascii, but fails otherwise. https://github.com/IATI/CSV2IATI-backend/blob/master/csviati/__init__.py#L187
Example error (where a unicode BOM is the non-ascii character):
When CSV2IATI-backend opens a CSV file it is an encoded string, which is later decoded with the relevant character encoding. However, when grouping the data (if the multiple option is enabled) a decdoded (python unicode type) string is used as a key of undecoded data. This works provided the encoding is simply ascii, but fails otherwise. https://github.com/IATI/CSV2IATI-backend/blob/master/csviati/__init__.py#L187
Example error (where a unicode BOM is the non-ascii character):