Overview of file-name character translation

Applies To: Windows Server 2003 R2

Although Windows and UNIX file systems do not allow certain characters in file names, the characters that are prohibited by each operating system are not the same. For example, a valid Windows file name cannot contain a colon (:), but a valid UNIX file name can. If a UNIX user attempts to create a file in a Network File System (NFS) share on Server for NFS, and that file contains an illegal character in its name, the attempt will fail.

To prevent this problem, use file-name character mapping to replace characters that are not allowed in a file system. To enable file-name character translation, create a text file that maps Windows to UNIX characters, and then configure Server for NFS to specify the path and name of the translation file.

A file-name character translation file is simply a list of mapped characters in the format:

0xnn 0xnn :0xnn 0xnn [ ;comment]

where nn is the hexadecimal value of one byte of a two-byte Unicode character, and comment is an optional comment, which is preceded by a semicolon (;). Everything from the semicolon to the end of the line is ignored. The first character in the entry is the character on the client (UNIX) computer, while the second is the character used on the Windows-based Server for NFS computer.

For example, the following maps the UNIX colon (:) to a Windows dash (-):

0x00 0x3a : 0x00 0x2d ; replace client : with - on server

If this entry appears in the file-name character translation file on a Server for NFS computer, when an NFS client creates a file named re:salesquotas on a Server for NFS share, Server for NFS names the file re-salesquotas. This is the name that appears in Windows Explorer when local or remote Windows users display the contents of the shared folder. NFS clients that list the contents of the shared directory, however, see the file name as re:salesquotas. Character translation takes place for all files shared by the server, regardless of whether they were created by an NFS client.

Do not map a given character to more than one character. Mapping a character to two or more different characters, as shown in the following example, will produce unexpected results:

0x00 0x11 : 0x00 0x22

0x00 0x11 : 0x00 0x33

Do not map a period (.) because it is used in the file-name syntax of both Windows and UNIX file systems.

After you have created the file-name character translation file, you must specify its location.


To prevent unauthorized users from tampering with the file-name character translation file and causing Server for NFS to fail, ensure that the file is protected with a discretionary access control list (DACL) that grants Full Control to the built-in System account and to the Administrators group. The DACL should contain no other entries.