Problem with different regional and language options in Windows


I developed a "working" program with Visual Basic 6.

Recently I changed the regional and language options of Windows XP (my machine) -> Language for Non-unicode programs. It was set as English (united States) previously when I was developing the program, but now, problems are occuring frequently after I  changed it to Chinese.

Does anyone faced this kind of problem before? Or anyone can give an idea what is going on? And does this problem also occur if you simply change the language other than English? I checked on the Internet and some refered this to the problem caused by the VB function 'strconv' which I used in my program.

Please help!! And please suggest any good solution to this!
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Please explain exactly what problems you are experiencing. Are you trying to make your application display Chinese or are you just testing English program using Chinese Regional Settings? Where/how are you using StrConv? Are you using standard Vb intrinsic controls or Forms 2.0 object library?
Leigh PurvisDatabase DeveloperCommented:
Never having had this battle personally, I wouldn't really know if there are specific issues with moving your app over to using Chinese, but AFAIK *the* resource for internationalisation in VB is Michael Kaplan's literature - some of which will be here
If you've already been there or there isn't relevant info somewhere there - there's probably loads more in his book.
gan_pennyAuthor Commented:
Hi there,

I've found the problem and solution on DI Management's web site (URL:

My problem was actually caused by the Unicode system which stores a character in 2 bytes, while an ANSI system stores a character using 1 byte. I had my program developed under ANSI system and problems occured when I ran it on a Unicode system.

For your info, I've built a simple program to test out a few VB functions to check their reliability issue on different system. I found out that Chr() and Asc() caused many problems. So what I did was to create a substitution function for each of them. I use Strconv() to do the conversion from byte to string, and vice versa.

Thank you for your participation! =)
Closed, 250 points refunded.
The Experts Exchange
Community Support Moderator of all Ages

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

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.