2

I am having problems when I try to display Chinese characters in my VB6 application:

  1. Not the correct characters are displayed.

  2. There are ?'s being displayed.

System setup:

  1. Windows 10

  2. VB6 a) Why am I still using VB6 well it is because the DLL's that I have to interface to our serial devices were written in VB6 and using them in VB.NET is slow.

  3. A translation file that contains all the strings that I display in my code and the corresponding Chinese characters the two things are separated by a pipe symbol "|"

Things that I have tried:

  1. I changed to Region and Language to Taiwan Traditional.

  2. I tried changing the font to anyone that supports the Big5 character set.

Please help and let me know if you need any more information.

Thank you

Gary
  • 21
  • 1
  • 1
    I think you're going to be out of luck with that one! See this thread which explains that VB6 text controls don't support unicode: https://www.codeproject.com/Questions/5340366/How-to-display-chinese-characters-in-vb6 – John Eason Aug 24 '22 at 18:44
  • 1
    Here's [a link](https://stackoverflow.com/q/14080723/5162073) to get you started. – Brian M Stafford Aug 24 '22 at 18:45
  • Does this answer your question? [What's the best option to display Unicode text (hebrew, etc.) in VB6](https://stackoverflow.com/questions/540361/whats-the-best-option-to-display-unicode-text-hebrew-etc-in-vb6) – StayOnTarget Aug 25 '22 at 12:22
  • AFAIK You need to compile and run it on far eastern versions of Windows 3.1 /95 (maybe). The far eastern versions used DBCS rather than ANSI. DBCS is similar to but not the same as Unicode. – Lundt Aug 25 '22 at 19:24
  • You should be able to get that working. The things you have tried are necessary steps. Are you reading the translation file in VB6? Maybe things are going wrong there, it needs to be DBCS format for VB6 to read it properly. Try using AscW() to see what characters are coming through from the translation file. And you could attack the problem from the other end. try using ChrW() to create Chinese characters and put them into the VB6 controls. – MarkJ Sep 02 '22 at 11:35
  • If you want more specific help you'll have to post some actual code. – MarkJ Sep 02 '22 at 11:35

0 Answers0