If used an encoding other than Cp1252 StringChunk returns incorrect value. To solve this issue whe added setCharset method to MAPIMessage, Chunks and StringChunk.
Have you tried with a recent nightly build? HSMF has undergone a lot of changes since 3.6 For String chunks which aren't stored as unicode, we assume they're CP1252 based on all the files we've seen - outlook should generally store them as one of those two. If you have found a file that differs, please do upload it, and also please help us track down where in the file that charset is stored!
Created attachment 25594 [details] Message with cyrillic fields
I dont tried other versions than 3.6, but in the head revision StringChunk (from SVN) hardcoded Cp1252. (1251 - Cyrillic)
Unfortunately I can't seem to spot anything in the file which indicates the encoding If you open the file on a different machine which has a different system language set, does it look correct or do you get the wrong characters showing up?
I tried on a system with an English localization. If not set the Language for Non-Unicode Programs to Russian then message open with wrong characters.
Fixed in r981947. There is now a guess7BitEncoding() method on MAPIMessage, which looks in the headers to guess the encoding, then calls the new set encoding method on the string chunks