I think it's a Windows thing.

The only work around I can think of would be converting all the non alphanum characters into hex values and then vica versa when reading them.

e.g. Hello! -> Hello%21