Repository: dlr-sc/memilio
Issue: pyfakefs and and pandas read_csv has complications

On windows, when starting tests with pyfakefs and download a csv with pandas read_csv we get complications with the letters ä,ö,ü. This doesn't happen when reading it in without pyfakefs. The dataframe is downloaded in both cases. When downloaded with pyfakefs the name of the districts in the dataframe is wrong. For example Müritz is saved as MÃ¼ritz. 

Minimal example:
```
def setUp(self):
        self.setUpPyfakefs()
def tests(self):
        test = gd.loadCsv("abad92e8eead46a4b0d252ee9438eb53_1")
```
results in 

```
  ï»¿FID        DES                 Name     EWZ  Gesamt_Maennlich  ...  W_50_bis_64  W_65_bis_74  W_75_und_aelter  SHAPE_Length  SHAPE_Area
0         1  Landkreis          Ludwigslust  120926             60409  ...        14102         7155             7101      4.416194    0.341399
1         2  Landkreis                 Roth  123344             60756  ...        12635         6886             6291      3.484977    0.110436
2         3  Landkreis          Germersheim  123913             61234  ...        12960         6298             6091      1.527590    0.057075
3         4  Landkreis              MÃ¼ritz   63719             31261  ...         7602         4344             4032      3.631647    0.232557
4         5  Landkreis                Fulda  216179            105791  ...        21264        11583            12925      2.842663    0.175355
```

Changed files:
pycode/memilio-epidata/memilio/epidata/getCaseData.py

diff --git a/pycode/memilio-epidata/memilio/epidata/getCaseData.py b/pycode/memilio-epidata/memilio/epidata/getCaseData.py
index 0c1eebc0c..48efd2101 100644
--- a/pycode/memilio-epidata/memilio/epidata/getCaseData.py
+++ b/pycode/memilio-epidata/memilio/epidata/getCaseData.py
@@ -152,7 +152,9 @@ def get_case_data(read_data=dd.defaultDict['read_data'],
             # ArcGIS public data item ID:
             itemId = '66876b81065340a4a48710b062319336_0'
             try:
-                df = gd.loadCsv(itemId)
+                # if this file is encoded with utf-8 German umlauts are not displayed correctly because they take two bytes
+                # utf_8_sig can identify those bytes as one sign and display it correctly
+                df = gd.loadCsv(targetFileName=itemId, encoding='utf_8_sig')
             except FileNotFoundError:
                 pass
             complete = check_for_completeness(df, merge_eisenach=True)
@@ -160,10 +162,9 @@ def get_case_data(read_data=dd.defaultDict['read_data'],
             if not complete:
                 print("Note: Case data is still incomplete. Trying a thrid source.")
                 try:
-                    df = gd.loadCsv(
-                        "",
-                        "https://npgeo-de.maps.arcgis.com/sharing/rest/content/items/"
-                        "f10774f1c63e40168479a1feb6c7ca74/data", "")
+                    # If the data on github is not available we download the case data from rki from covid-19 datahub
+                    df = gd.loadCsv(apiUrl="https://npgeo-de.maps.arcgis.com/sharing/rest/content/items/",
+                        targetFileName="f10774f1c63e40168479a1feb6c7ca74/data", extension = "", encoding='utf_8_sig')
                     df.rename(columns={'FID': "OBJECTID"}, inplace=True)
                 except FileNotFoundError:
                     pass