beware of the plus sign
it is quite ambiguous because it is often used as replacement for white space.
in facts HFS translate it that way.
any "+" char in the filename should be translated to %2B
as white space should be translated to %20.
"+" could be a translation for white space but i remember somewhere clients misreading.
could you tell me what client was downloading such file?
i just found the piece of RFC where it is told about it to be a special char.
2.2. Reserved Characters
Many URI include components consisting of or delimited by, certain
special characters. These characters are called "reserved", since
their usage within the URI component is limited to their reserved
purpose. If the data for a URI component would conflict with the
reserved purpose, then the conflicting data must be escaped before
forming the URI.
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
The "reserved" syntax class above refers to those characters that are
allowed within a URI, but which may not be allowed within a
particular component of the generic URI syntax; they are used as
delimiters of the components described in Section 3.