diff --git a/ihatemoney/tests/import_test.py b/ihatemoney/tests/import_test.py index 4e93bb56..89ab924b 100644 --- a/ihatemoney/tests/import_test.py +++ b/ihatemoney/tests/import_test.py @@ -442,7 +442,7 @@ class TestExport(IhatemoneyTestCase): '2016-12-31,red wine,Expense,XXX,200.0,jeanne,1.0,"zorglub, tata"', '2016-12-31,à raclette,Expense,10.0,XXX,zorglub,2.0,"zorglub, jeanne, tata, pépé"', ] - received_lines = resp.data.decode("utf-8").split("\n") + received_lines = resp.data.decode("utf-8-sig").split("\n") for i, line in enumerate(expected): assert set(line.split(",")) == set(received_lines[i].strip("\r").split(",")) @@ -476,7 +476,7 @@ class TestExport(IhatemoneyTestCase): "55.34,XXX,jeanne,tata", "127.33,XXX,jeanne,zorglub", ] - received_lines = resp.data.decode("utf-8").split("\n") + received_lines = resp.data.decode("utf-8-sig").split("\n") for i, line in enumerate(expected): assert set(line.split(",")) == set(received_lines[i].strip("\r").split(",")) @@ -682,7 +682,7 @@ class TestExport(IhatemoneyTestCase): "date,what,bill_type,amount,currency,payer_name,payer_weight,owers", "2016-12-31,'=COS(36),Expense,10.0,EUR,zorglub,1.0,zorglub", ] - received_lines = resp.data.decode("utf-8").split("\n") + received_lines = resp.data.decode("utf-8-sig").split("\n") for i, line in enumerate(expected): assert set(line.split(",")) == set(received_lines[i].strip("\r").split(",")) diff --git a/ihatemoney/utils.py b/ihatemoney/utils.py index ef4818ad..a4be3211 100644 --- a/ihatemoney/utils.py +++ b/ihatemoney/utils.py @@ -196,7 +196,7 @@ def list_of_dicts2csv(dict_to_convert): writer = csv.writer(csv_file) writer.writerows(csv_data) csv_file.seek(0) - csv_file = BytesIO(csv_file.getvalue().encode("utf-8")) + csv_file = BytesIO(csv_file.getvalue().encode("utf-8-sig")) return csv_file @@ -204,7 +204,7 @@ def csv2list_of_dicts(csv_to_convert): """Take a csv in-memory file and turns it into a list of dictionnaries """ - csv_file = TextIOWrapper(csv_to_convert, encoding="utf-8") + csv_file = TextIOWrapper(csv_to_convert, encoding="utf-8-sig") reader = csv.DictReader(csv_file) result = [] for r in reader: