The above "article will try to convince you that adding some tiny limitations on legal Unix/Linux/POSIX filenames would be an improvement. Many programs already presume these limitations, the POSIX standard already permits such limitations, and many Unix/Linux filesystems already embed such limitations — so it’d be better to make these (reasonable) assumptions true in the first place.
This article will discuss, in particular, the three biggest problems:
-control characters in filenames (including newline, tab, and escape),
-leading dashes in filenames,
-and the lack of a standard character encoding scheme (instead of using UTF-8)."
It's a long read, and mainly about Unix/Linux/Posix, but a good reference, nonetheless, with links that also point to other modern issues that crop up in NAS/NFS, Shared SMB systems, ..., and the limitations that you may run into, (regarding the use of proper Filenames, or Foldernames), with other proprietary file systems, such as NTFS, or in MacOSX, ...