PRB: Visual C++ Cannot Display Some of the Multi-byte Characters
ID: Q170560
|
The information in this article applies to:
-
Microsoft Win32 Software Development Kit (SDK)
SYMPTOMS
When you use Visual C++ 4.x on the Far East version of Windows NT 3.51,
Developer Studio cannot correctly display some of the multi-byte
characters.
CAUSE
For example, Visual C++ 4.x on Traditional Chinese Windows 3.51, you can
bring up the default Chinese IME (Ctrl Space) and type K - Space, and there
you can find a list of 9 Chinese characters. In the list, the last two
characters appear as question marks (?) on the screen. However, these
characters appeared fine on other applications like Notepad.
It is by design. These two characters are Unicode, and Visual C++ editor
cannot display them because it is not Unicode-enabled. On Windows 95 it
will not be displayed if the users use the same IME process. Visual C++ 4.x
"IDE editor" is not Unicode-aware, and it can't handle Unicode characters,
but the Visual C++ 4.x IDE editor is DBCS-enabled. This means that DBCS
code will be shown correctly in Windows 95 because Windows 95 uses DBCS
internal code (in fact, to Traditional Chinese, it's called Big-5 code).
Applications support Unicode, like Notepad, will show Unicode.
RESOLUTION
To work around the problem:
- Enter the specific Chinese characters in Notepad.
- Insert these characters into Visual C++ using "binary mode. (Find the
corresponding internal code for these characters. In other words,
separate a character into two bytes.)
- Compile this Visual C++ project with Unicode option.
Another workaround is to use Big-5 code only. For instance, the users will
only see 7 characters in Windows 95 because it is big-5 system. In Windows
NT, the users can select the first 7 characters (all have big-5 code).
STATUS
This behavior is by design.
Additional query words:
Keywords : intlfe intluni
Version : WINDOWS:
Platform : WINDOWS
Issue type : kbprb