Doing exactly what D Wheeler suggest is wrong. Problems of representation and interpretation is not a problem of filesystem. Better approach would be to apply punycode for file names which is the same that IDN uses.
That would mean that there is encoded and unencoded versions of filenames, or two representations, match with same inode. The version you want to see depends on environment variable or perhaps command line option. For me this sounds like libc hack and the guys making changes to that are conservative (thank god they are, who'll want unstable libc anyway). Even the safe mode sounds like good idea I don't expect to see such for next couple of years. Well we'll see.