Microsoft KB Archive/170560
PRB: Visual C++ Cannot Display Some of the Multi-byte Characters
The information in this article applies to:
- Microsoft Win32 Software Development Kit (SDK)
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.
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.
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).
This behavior is by design.
Additional query words:
Keywords : kbIntl
Issue type : kbprb
Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWin32sSearch
Last Reviewed: February 13, 2000