HTTP requests for paths are not URL decoded so special characters must be represented in the filesystem as they would be URL encoded by User Agents.  Since UAs may choose to encode things differently multiple filenames are currently required to serve a single resource.

If URL decoding were performed by the HTTP server then a single pathname could be used.