It's all a matter of character encoding.
For example UTF-8 encoded text being read as CP1252. But if you change it so the reading method matches the encoding method - then the text is correct.
The second case could be that the text is UTF-8 encoded and your player simply doesn't support that format. Then the only solution is to transfer the text into a character set the player does support, for example CP1252 for Western-European, CP1253 for Greek, etc.