Click here to Skip to main content
15,867,453 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello All,

I need help to display chinese characters in my VB6 application.

I have a file that contains my text strings and corresponding chinese characters, please see the following:

ABORT|停止
FAIL|失敗
BACKUP|&上一步
OK|確定

Pipe symbol seperates the two

I have a form with four buttons

OK, This has the caption OK
FAIL, This has the caption FAIL
BACKUP, This has the caption BACKUP
ABORT, This has the caption ABORT

I have a routine that will search for the caption on the button to get the corresponding chinese to display.

I am having two problems:

1. I see ? mixed in with the chinese characters

2. The chinese displayed is not the same as in the file.

I set my regional setting on both my Windows 7 PC and my Windows 10 PC to (Chinese Traditional Taiwan) and the

I changed the following on both my Windows 7 PC and my Windows 10 PC

Format:
(Chinese Traditional Taiwan)

Location:
Taiwan

Current System Local:
(Chinese Traditional Taiwan)

I changed the Font to use

@Microsoft JhengHei and Script to Chinese Big5

Please advise

What I have tried:

Searches all ovre the internet
Posted
Updated 23-Aug-22 19:35pm
Comments
[no name] 23-Aug-22 21:16pm    
That font is not on my Windows 10 system; so anyone who doesn't can't help you much.

1 solution

Unfortunately, this is an English site, so most of the membership can't read Chinese - which wis what Google Translate says your text is - and as a result, we do not have the font you refer to installed - though "Microsoft JhengHei" is available on my system, and using it shows no problems via either Notepad or C# code.

VB 6 is ancient: it was superseded over 20 years ago! It's native IO functions are even older, and read ANSI data not Unicode: so your file (which is Unicode) won't read correctly as Chinese characters don't exist in the 8 bit ANSI set.

You can get round that: Stream Object (ADO) - ActiveX Data Objects (ADO) | Microsoft Docs[^] is Unicode aware, and I suspect that using that will solve your problem.

But a better solution would be to move to a more modern language: you are almost certain to come up against this and other related problems if you continue developing with ancient software!
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900