Non-Unicode Character Mapping Question

When programming in Windows in a non-Unicode build, can I assume that single-byte characters in my program will always use the ISO-8665-1 character set for characters 128-255?

Or will the meanings of chars in this range depend on language, user preferences, etc.?
Who is Participating?

Improve company productivity with a Business Account.Sign Up

aorenste32Connect With a Mentor Commented:
The result may or may not still be é based on the character set.  For example, on a Japanese native system (codepage 932), the string "fooéy" will display as the unicode characters:
0x0066 (f)
0x006f (o)
0x006f (o)
0x9a2b (a CJK unified ideograph)

I believe that for pretty much all latin-based systems (german, italian, etc) it will display as you want.
The meanings of chars in that range will depend on the charset being used.  You can specify the Charset when creating the font with CreateFont().
If you use ANSI_CHARSET or DEFAULT_CHARSET then the setting will depend on the locale settings.
Alkali_GuyAuthor Commented:
What if my MFC program outputs (char)233 to a normal text box, on a system that has a different regional character set?  Will the result still be é?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.