diff --git a/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py b/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py index d2af2d5e..f26b2154 100644 --- a/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py +++ b/server/vbv_lernwelt/edoniq_test/tests/test_edoniq_export.py @@ -93,7 +93,7 @@ class EdoniqUserExportTestCase(TestCase): expected_response_data = [ [ - "login", + "\ufefflogin", "firstname", "lastname", "gender", diff --git a/server/vbv_lernwelt/edoniq_test/views.py b/server/vbv_lernwelt/edoniq_test/views.py index f82fec94..f70dec12 100644 --- a/server/vbv_lernwelt/edoniq_test/views.py +++ b/server/vbv_lernwelt/edoniq_test/views.py @@ -152,11 +152,13 @@ def fetch_course_session_all_users(courses: List[int], excluded_domains=None): def generate_export_response(cs_users: List[User]) -> HttpResponse: - response = HttpResponse(content_type="text/csv") + response = HttpResponse(content_type="text/csv; charset=utf-8") response[ "Content-Disposition" ] = f"attachment; filename=edoniq_user_export_{date.today().strftime('%Y%m%d')}.csv" + response.write("\ufeff".encode("utf8")) # UTF-8 BOM + writer = csv.writer(response) writer.writerow( [