Re: Characters allowed in short filenames



US Windows 98 stored the German lower-case letter ß as the Greek lower-case letter β. Code page 437 has β. Halfway OK, US Windows 98 defaults to OEM code page 437 not 850, and we are halfway towards being able to store β (but not ß).

Now, fatgen103.doc is very clear in prohibiting lower-case letters from being stored in a short name. So still, how did β get into a short name?

Does anyone know the real rules on what is allowed in a short name?


"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message news:e1iF$PrnIHA.2352@xxxxxxxxxxxxxxxxxxxxxxx
My partial understanding is that short filenames are stored using the OEM
code page of the system default locale at the time that the file (or
directory) is created.

For complicated code pages this is pretty simple, for example code page 932
is both ANSI and OEM, so each ANSI codepoint maps onto the exact same OEM
codepoint.

For simple code pages this isn't so simple. For example for several Western
European languages the default ANSI code page is 1252 but the default OEM
code page isn't 1252. I thought I read that the default OEM code page for
US Windows would be 437, but experiments indicate otherwise.

As far as I can tell, code page 437 doesn't contain a ß character. So if
the current default OEM code page is 437 and I create a new file then the
short filename cannot contain a ß.

Code page 850 contains a ß character. So if the current default OEM code
page is 850 then we are halfway towards allowing a short filename to contain
a ß. We shouldn't get more than halfway because lowercase letters aren't
allowed in short filenames, but let's proceed.

I installed US Windows 98 in a virtual PC. I left all its language settings
as defaults; I didn't even install the options for limited amounts of
multilingualism. In a command prompt window I tried the MODE CON command,
but it gave an error instead of telling what code page it was using.

I did install the character map utility, and copied a ß character into the
command prompt. US Windows 98 let me create file SßT.TXT. Well this is OK
so far, since long filenames are stored in Unicode.

Oops. The DIR command said that the short filename is also SßT.TXT. So
does this mean that US Windows defaults its OEM code page to 850 instead of
437?

The next problem is that fatgen103.doc says that short filenames are always
converted to uppercase. So how could a short filename be SßT.TXT instead of
SSST.TXT? No problem for the long filename to be SßT.TXT, but how could the
short filename contain a lowercase letter?

Other letters are going to be more troublesome, and I guess
ntfsgen103.doc[*] is going to say even less than fatgen103.doc says, but if
anyone knows the real rules, could someone please say?

[* I assume there's no such document, which is the reason it's not even
going to say how to determine what characters are allowed in short names in
NTFS.]


.



Relevant Pages

  • Re: Characters allowed in short filenames
    ... I thought I read that the default OEM code ... US Windows would be 437, ... As far as I can tell, code page 437 doesn't contain a ゜ character. ... page is 850 then we are halfway towards allowing a short filename to ...
    (microsoft.public.development.device.drivers)
  • Re: Characters allowed in short filenames
    ... even attempt to discuss what is valid in any OEM code page in the short name stored on the device. ... fatgen103.doc seems to have a slightly below average proportion of bugs, but Windows doesn't completely agree with it. ... > As far as I can tell, code page 437 doesn't contain a ゜ character. ... > page is 850 then we are halfway towards allowing a short filename to ...
    (microsoft.public.development.device.drivers)
  • Re: Characters allowed in short filenames
    ... the source code of the CheckNameLegalDOS8Dot3 API is the documentation of what characters are allowed in short filenames. ... even attempt to discuss what is valid in any OEM code page in the short name stored on the device. ... fatgen103.doc seems to have a slightly below average proportion of bugs, but Windows doesn't completely agree with it. ... > page is 850 then we are halfway towards allowing a short filename> to ...
    (microsoft.public.development.device.drivers)
  • Re: Characters allowed in short filenames
    ... I thought I read that the default OEM code ... US Windows would be 437, ... As far as I can tell, code page 437 doesn't contain a ß character. ... page is 850 then we are halfway towards allowing a short filename to ...
    (microsoft.public.development.device.drivers)
  • Re: Characters allowed in short filenames
    ... I thought I read that the default OEM code ... US Windows would be 437, ... As far as I can tell, code page 437 doesn't contain a ゜ character. ... short filename cannot contain a ゜. ...
    (microsoft.public.development.device.drivers)