Samba, HFS+, unicode

Guillaume Lessard glessard at
Wed Aug 4 23:36:02 GMT 1999


I use Mac OS X Server to serve the same set of files to both Mac and
Windows machines. Samba works well with HFS+, but only if filenames are
7-bit ascii.

If one attempts a filename containing a character out of that
set, HFS+ will translate the character to unicode (correctly if it's done
from the mac through AFP, and incorrectly if it's done from Windows through
Samba). In either case, the file is then inaccessible from Windows (and
smbclient), as the encodings sent are fouled up in the transmission and
then client and server can't agree on the filename anymore.

*background: HFS+ stores filenames in unicode under certain character
expansion rules, such that e with an acute accent has a length of two
characters, meaning "e" and then "with an acute accent" (Unicode characters
u+0065 (e) and u+0301 (acute) instead of u+00E9 (latin small letter e with
acute)) This makes case insensitivity much much easier, mainly.

Has anyone tried to make Samba work correctly with HFS+ and/or unicode
filenames? e.i to either recognize HFS+ as the underlying filesystem for a
given share or recognize unicode as the underlying filename character
encoding, and make it translate or map filenames to something reasonable? I
guess not, but I thought I might ask... Does anyone know what should be
done, and how?

I'm trying to prospect the source right now, but having no experience with
the code doesn't help at all.

Guillaume Lessard
TFF Enterprises
glessard at

More information about the samba-technical mailing list