I already did thatReset Preferences and Cache.
A sample may not be enough, in that a particular sample should match a particular codepage setting at system level.I can if someone provides me sample subtitle file =)
The hebrew translation does not define a default encoding currently. Looking at the changes, it has not been maintained for several years. We can add CP1255. But if the translation is totally outdated anyway, you might prefer to use English and set the subtitle encoding manually .In vlc 1.0.5, vlc seems to correctly auto detect an hebrew windows-1255 encoded .srt and show it correctly.
In vlc 1.1.0-rc1, vlc seems to incorrectly auto detect an hebrew windows-1255 encoded .srt file and displays gibberish, I have to manually set the subtitles encoding in the settings dialog to make it work.
The "code" just tries to decode the subtitle as UTF-8 (unless you've disabled UTF-8 autodetection) then falls back to a locale-defined character encoding. If you use VLC in English, then the default is CP1252. Microsoft uses that as character encoding for English and other western European languages.Sad that it did work correctly for me in 1.0.5
Someone should really look at the Auto encoding detection code...
There is one thing strange though...The "code" just tries to decode the subtitle as UTF-8 (unless you've disabled UTF-8 autodetection) then falls back to a locale-defined character encoding. If you use VLC in English, then the default is CP1252. Microsoft uses that as character encoding for English and other western European languages.Sad that it did work correctly for me in 1.0.5
Someone should really look at the Auto encoding detection code...
The autodetection logic is basically the same since VLC 0.8.5. In earlier versions, the code would fall back to the local system character encoding. This used to work mostly well in the last century. But most systems have switched to Unicode by default nowadays, so that trick would not work anymore.
Fron VLC 0.8.5 through 1.0.6, the default values were hard-coded in the VLC source code. It turned out to be a bad idea as the number of supported languages exploded. VLC has almost 70 translations nowadays. From VLC 1.1.0 onward, the default character encodings are specified in the message translation files. Unfortunately, some VLC translation are currently unmaintained (Hebrew is one example), and still many bugs are not reported in due time (during test and release candidate cycles). There you go...
This is probably the expected behaviour, but unfortunately it is contradicted by reality.The "code" just tries to decode the subtitle as UTF-8 (unless you've disabled UTF-8 autodetection) then falls back to a locale-defined character encoding. If you use VLC in English, then the default is CP1252. Microsoft uses that as character encoding for English and other western European languages. [...] From VLC 1.1.0 onward, the default character encodings are specified in the message translation files. Unfortunately, some VLC translation are currently unmaintained (Hebrew is one example).
So you would check for UTF-8 and then fallback to, err, UTF-8 which is the default character encoding on most operating systems. The whole point of the 0.8.5 change was to solve this idiocy. It makes much more sense to default to a legacy character set for the user language.It's still logical to use the system defined encoding, as even though many systems are unicode they still have an encoding defined for use for non-unicode programs and files.
All Windows newer than NT 4.0 have an 8 bit setting that matches the choosed locale (the so-called Language for non-Unicode programs). A program that knows it uses 8 bit text file should check that setting in the first place. Usually when a user reads wrong character encoding in text subtitles, that place is the first to be checked (and changed if necessary). This is an approach at operating system level, not at application level.So you would check for UTF-8 and then fallback to, err, UTF-8 which is the default character encoding on most operating systems.
If you configure VLC 1.1.1 to use the same language as your system, then you will get a code page that matches.All Windows newer than NT 4.0 have an 8 bit setting that matches the choosed locale (the so-called Language for non-Unicode programs).
That's not true. First, only knowledgeable users would ever know of this, and most Windows users aren't knowledgeable. Second, the most logical place would be the subtitle area in the open dialog, if only it had a widget to select the encoding.Usually when a user reads wrong character encoding in text subtitles, that place is the first to be checked (and changed if necessary). This is an approach at operating system level, not at application level.
Have you read my message above ? Subtitles encoding in VLC 1.1.0 does not work properly in all auto mode.If you configure VLC 1.1.1 to use the same language as your system, then you will get a code page that matches.
Not the case on my system. Cannot speak about other's configuration.No matter what we do there will always be a problem if you configure VLC in one language on a system in another language.
I have nothing to decide, almost 100% subtitles I download for my language are in 8 bit encoding. If I would use a Mac or Linux to view that subtitles, the program there must know how to handle my 8 bit encoded subtitle files.You've decided to use the only OS that still think we are in the eighties as far as character sets are concerned; you deal with it.
Generally true (I suppose), but not completely true here in my country (Romania), where questions and prompt answers on this matter are common on our large forums.That's not true. First, only knowledgeable users would ever know of this, and most Windows users aren't knowledgeable. Second, the most logical place would be the subtitle area in the open dialog, if only it had a widget to select the encoding.Usually when a user reads wrong character encoding in text subtitles, that place is the first to be checked (and changed if necessary). This is an approach at operating system level, not at application level.
VLC 1.0.5 does not have this portion of gettext:The real question is: what has changed between 1.0.5 and 1.1.0 and when was the first regression?
Code: Select all
#. xgettext:
#. The Windows ANSI code page most commonly used for this language.
#. VLC uses this as a guess of the subtitle files character set
#. (if UTF-8 and UTF-16 autodetection fails).
#. Western European languages normally use "CP1252", which is a
#. Microsoft-variant of ISO 8859-1. That suits the Latin alphabet.
#. Other scripts use other code pages.
#.
#. This MUST be a valid iconv character set. If unsure, please refer
#. the VideoLAN translators mailing list.
#: modules/codec/subtitles/subsdec.c:296
msgctxt "GetACP"
msgid "CP1252"
msgstr "CP1250"
Emphasis modified. I wonder who should blame the other one for not reading.Have you read my message above ? Subtitles encoding in VLC 1.1.0 does not work properly in all auto mode.If you configure VLC 1.1.1 to use the same language as your system, then you will get a code page that matches.
Return to “VLC media player for Windows Troubleshooting”
Users browsing this forum: Google [Bot] and 24 guests