Our company is submitting our product for Vista Certification at the moment, so our test department have a list of checks as long as Bao Xishun's arm.
A number of these tests check to see if the program runs correctly under various locales, especially those locales that use non-Latin based alphabets. As internationalization was never really a design goal, even though we get unicode support by default in .NET, it fell over at this point.
However, what was a surprise was WHY it failed. The XmlSerializer threw an exception as it could not write to the temp directory of the user, which on Vista, is <UserName>\Local\Temp
The username contained Japanese characters, but the exception report displayed these as '?' - showing that it couldn't properly resolve them.
On a hunch, I didn't really suspect our code was at fault - we weren't doing anything other than serializing a class, which worked fine for other character sets - so I quickly put together a test which just checked the XML Serialization and nothing more.
Sure enough it fell over again, so it will be interesting to see the resolution of this. It could be that we need to set certain environment settings in the Application, but it could also be a problem with the .NET framework itself.
We're sure to find out soon.