As far as I know, there are no characters that are "illegal" and can't be used in String Descriptors. The only exceptions I know of are Serial Numbers, which should only use 0-9 and A-F. If you're having a problem, I'd say it's an implementation issue with your software, not something that the device is doing incorrectly.
Somebody please correct me if I'm wrong, though.