Most modern systems started to support Unicode in the names of file system object. It is relatively new achievement though. OK, let users of the system enjoy them. But let me advise you as a developer: use only the names in English and only in English, in ASCII character repertoire only. Believe me, doing anything else will only create some hassles. There are a lot of long-leaving obsolete legacy codes. They sneak into modern systems and spoil them. They are often remain untested due to pure cultural reasons: most test engineers are developers at heart and also follow the old tradition of using ASCII-based file names, so other names are tested only when Unicode support is tested specifically, in other words, it remains under-tested. I would also recommend to avoid blank spaces in file system object names, to stay far from troubles.
But of course, when you test your software where your user can create files, do just the opposite: test it with file names using as wide character repertoire as possible.
Please see:
http://en.wikipedia.org/wiki/Ascii[
^],
http://en.wikipedia.org/wiki/Character_repertoire[
^],
http://en.wikipedia.org/wiki/Unicode[
^],
http://unicode.org/[
^],
http://en.wikipedia.org/wiki/File_system[
^],
http://en.wikipedia.org/wiki/List_of_file_systems[
^],
http://en.wikipedia.org/wiki/English_language[
^] :-).
—SA