Backport PR #40994: REGR: memory_map with non-UTF8 encoding
Backport PR #40994
I think this PR depends on some not-backported PRs? this might be non-trival to make work. ping when / if ready. I will not have time to look into this for the next ~two weeks. The whatsnew entry should probably be moved to 1.3. This makes this compatible with the logic on master > The whatsnew entry should probably be moved to 1.3.

this fixed a regression in 1.2 https://github.com/pandas-dev/pandas/issues/40986#issuecomment-847005267, so would be good to backport.

The changes do no look trivial which would normally be desirable for a backport.

@twoertwein @phofl @jreback happy to merge this? I think the only change is 
```
            errors = self.errors if self.errors is not None else "strict"
```

which is necessary because we have a new keyword on master setting this flag. Thanks @twoertwein @phofl 