2

I have a zip file where directory and file names ( thousands of files ) are encoded in Windows 1251, according to its creator. I.e. the filenames contain Russian or Cyrillic letters. My Windows XP SP3 doesn't show them properly

ÅÑaÑó«ñd instead of АБВГДЕЖ ( I am just showing first 7 letters of russian alphabet, 2 sequences unrelated ).

Can anything be done on OS level to show them properly or are there scripts either to rename or copy all directories and files?

In fact, I have no problem with keeping files' content as is, as they are actually karaoke files (.kar) and song lyrics in Windows 1251 encoding, but I would like to know why the filenames show up strangely.

2 Answers 2

1

The ZIP format has weak support for non-english characters in filenames. As a result, there are may incompatible implementations. The effect you see isn't at the core OS level, but a problem of the ZIP format support in the Windows Shell (Explorer). Other ZIP programs (such as 7Zip) may support this better.

2
  • Are you implying, if I unarchive those files,no way to change filename to unicode to have it seen properly in cyrillic ?
    – MicMit
    Sep 1, 2011 at 23:29
  • I'm implying that it depends on the ZIP program you use.
    – MSalters
    Sep 2, 2011 at 8:02
1

Zip creation was out of my control and I use Winrar to unarchive. In my case solution was on system level.

  1. Open Regional and Language Options in Control Panel.
  2. On the Advanced tab, under Language for non-Unicode programs, click the language version of non-Unicode programs that will be used.

I set it to Russian. I doubt that such widespread program as Winrar can be classified as non-Unicode, nevertheless

Winrar after reboot started to show file names properly and files after unarchiving are shown properly in Windows Explorer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .