You might wanna check all the answers in this question as it seems pretty similar to yours: UnicodeDecodeError: 'charmap' codec can't decode byte X in position Y: character maps to <undefined>
As said in the site, try:
file = open(filename, encoding="utf8")
Was planning to share this as a comment but I don't have enough reputations for that :)
EDIT: After reading your comment as a response to my previous answer and as suggested by Cett to improve it:
Probably the best way to deal with encoding errors is by using the errors argument. As said in your question if only some characters are not decoded then this should be fine to use.
file = open(filename, encoding="utf8", errors = "ignore")
NOTE: using this argument will lead to Python ignoring that special character. So I would recommend this only if you are fine with losing some data.