Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I try to watch movies with russian subs I get gibberish (with hebrew characters). I found that I can change the system non-english support language (something like that) and then it will support russian. But then I'll get the same problem with hebrew subs.

Is their any way I can have support in both languages at the same time?

p.s I use WIN7

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

There are several steps you have to take:

  1. You must use a DirectShow filter for subtitles rendering that supports Unicode (like DirectVobSub). Your movie playing software must of course use that filter, it's impossible to say how exactly since you didn't say what movie player you use.

  2. You must use a font that has all the characters you need (e.g. Arial, the default, works fine, don't change it to something fancy as Hebrew support in fonts is patchy at best)

  3. Most important: your subtitles must be encoded in UTF-8.

    a. If your subtitles are external, just use software like iconv (Windows version) to convert your subtitles into UTF-8, just make sure you use correct source encoding (Windows-1255 for Hebrew and Windows-1251 for Russian) and the target must always be UTF-8.

    b. If your subtitles are internal to your video file, you'll need to extract them first. For MKV files, use mkvtoolnix to extract subtitles, transcode them same as in "a" above and pack them back into MKV. For other video file containers, use their appropriate tools to extract subtitles.

share|improve this answer
    
My player is vlc. What do I need to configure and how? –  11alex11 Jan 6 '12 at 18:00
    
@11alex11: See "subtitles" tab in preferences. If you didn't touch there anything, the defaults are just fine, but you need to follow #3. Or, alternatively, you can change the "default" language in VLC options each time you change from Russian to Hebrew subtitles or back. –  haimg Jan 6 '12 at 18:07
add comment

First, use a font that has characters for all languages (actually scripts) you want to use, like Arial. Otherwise, characters that the font doesn't have will appear as squares.

Now, you need to get the encoding right, or you'll get incorrect/garbage characters like you mention. You have 3 options:

1. Video with subtitles encoded in the video itself

That's the easiest, If you can get it...

2. Subtitles in Language-Specific Charset, Like Windows-1255 (Hebrew) or Windows-1251 (Russian)

  • Use subtitles that are encoded in the language-specific charset - most are nowadays.
  • Tell your player/DirectShow filter which charset the subtitles are encoded in. In [VLC], set it in Tools -> Preferences... -> Subtitles & OSD -> Default encoding. You will have have to set it every time - not fun.
  • If your player/DirectShow filter doesn't have that option, you will have to tell it via the system's non-english support language, and reboot. Even less fun.

3. Subtitles in [UTF-8] - the way of the future

  • Use a player/DirectShow filter which is able to show UTF-8 subtitles, like example VLC or [DirectVobSub].
  • Use subtitles that are encoded in UTF-8.

Unfortunately, most available subtitles nowadays are not encoded in UTF-8. You can convert them:

a. If your subtitles are external, use software like [iconv] ([Windows version]) or [SubtitleEdit]. Make sure you use correct source encoding (Windows-1255 for Hebrew and Windows-1251 for Russian) and target encoding (UTF-8).

b. If your subtitles are internal to your video file, you'll need to extract them first. For MKV files, use [mkvtoolnix] to extract subtitles, convert them like in "a" above and pack them back into MKV. For other video file containers, use their appropriate tools.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.