The list should (at least) include:
':', ';', '*', '?', '|', '%', '"', '>', '<', "\0", "\t", '\' and '/'
Though '\' or '/' has an exception when it's the dir sep on the current platform. But it still technically can't be part for the file name, it part of the file path.
Also the list should stay a 'guidance', because software could implement escaping to allow just about anything if the fs supports it.
see also:
http://en.wikipedia.org/wiki/Filename
edit: I forgot ';'
':', ';', '*', '?', '|', '%', '"', '>', '<', "\0", "\t", '\' and '/'
Though '\' or '/' has an exception when it's the dir sep on the current platform. But it still technically can't be part for the file name, it part of the file path.
Also the list should stay a 'guidance', because software could implement escaping to allow just about anything if the fs supports it.
see also:
http://en.wikipedia.org/wiki/Filename
edit: I forgot ';'