VLC
In VLC: tell the player which encoding to read
- Open Tools > Preferences (on a Mac, VLC > Preferences, called Settings in recent versions).
- In the simple view, open the “Subtitles / OSD” section.
- Set “Default encoding” to the code page of your file: the Windows-1256 entry for old Arabic files, or the Windows-1252 (Western European) entry for French ones.
- Click Save, then close the video and open it again so the subtitles are reloaded.
This is a single global setting: a French file will turn garbled while VLC is set to Arabic, and the other way round. A file saved as UTF-8 with a BOM displays correctly whatever this setting says, which is why converting once is the lasting fix.