Duplicate issue.
Works for me if I have only Hebrew subtitles file (ISO-8859-8) for a movie.
At the moment, if you have several subtitles files (e.g. Hebrew and English) for a movie, they should be encoded as UTF-8.
The following comment (comment:1) I posted was wrong. The issue was fixed on #6728 (closed).
If your issue is different or the fix on #6728 (closed) doesn't help for you, please reopen the ticket.
And please post the sample subtitles file and logs (messages with verbosity 2).
FYI, I play a blank movie with SubRip ISO-8859-8 and it works fine. Of course I set default encoding (Hebrew ISO-8859-8) and font (Arial Unicode MS) in the preferences.
My tested environment (all compiled from latest git source):
Ubuntu 12.04: vlc-2.1.0, vlc-2.0.4
Windows 7 64bit (win32/win64): vlc-2.1.0, vlc-2.0.4
OS X 10.8.1: vlc-2.1.0, vlc-2.0.4 (both freetype2/quartztext)
May I please ask, how does the language get detected, please? In order for the correct encoding to be set, it must be detected that the subtitle file is in Hebrew. Is this right? I'm asking because GNOME's Totem video player seems to have the same issue and I'd like to point them to an example of correct behavior.
VLC selects a default non-Unicode character encoding based on the user language, in this case, Hebrew. If you view a non-Unicode Hebrew subtitle on an English system, you will need to select the encoding manually.
I was mistaken in my assumption that VLC chooses an encoding in some clever way.
I may have been mistaken in my assumption that Hebrew subtitles are ISO-8859-8. But not severely mistaken. It could also be Windows-1255. There's not much difference. But for the little difference that there is, it should be coded correctly.