Way back in the dim and distant past, when computing was beginning the operating system kernel had a series of reserved characters /\?%*:¦"<.> and when they were found in a file name the OS considered them as instructions to do something.
For a full listing see
http://en.wikipedia.org/wiki/Filename
There are also various other control characters that should not be used or strange results may follow.