Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Why display ??? under VB Controls?

Posted on 2003-03-29
12
Medium Priority
?
204 Views
Last Modified: 2012-05-04
Hi,

  I have the following questions :

Case 1  :
  OS    : English W2K Pro SP3 / WinXP SP1, using 'Chinese (Taiwan)' in Regional Setting
  VB    : 6.0 SP5, MDAC 2.7, SQL Server 2K SP3
  Data  : Unicode with Simplified and Traditional Chinese
  Result: can properly display Traditional Chinese Characters,
          display ???? in Simplified Chinese Characters

Case 2  :
  OS    : English W2K Pro SP3/WinXP SP1,using 'Chinese (PRC)' in Regional Setting, Simp. Win98SE
  VB    : same as above case
  Date  : same as above case
  Result: can properly display both Traditional and Simplified Chinese Characters


  What should I do in order to solve this problem?.. I suppose both traditional and Simplified Chinese Characters can displayed under traditional Windows 2K, as it is UNICODE enabled. Am I right?.

Regards,
Thomas Cheung

 
 
 
0
Comment
Question by:thomascy
  • 4
  • 3
  • 2
  • +2
12 Comments
 
LVL 22

Expert Comment

by:rspahitz
ID: 8233003
Unicode is a trick deal.  I don't have the answer handy, but if you pick up the book on "Internationalization of you VB6 Application" (or something similar distributed by MS press) I think it describes how to overcome these problems in something like chapter 11.
0
 
LVL 16

Expert Comment

by:Richie_Simonetti
ID: 8233037
hearing...
0
 
LVL 2

Expert Comment

by:stretch71
ID: 8235344
Yes Win2K can handle the unicode for both versions of Chinese, however you will actually be using the DBCS character sets when running VB6 apps since VB6 uses ANSI code pages to display data to the user.

The incompatabilities are probably a result of some glyphs not being present in the TC charcter set, while the glyphs are present in the SC version.

The character set VB uses will be determined by your system code page (is you systems regional settings, not your user's regional settings).

Hope this helps.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:thomascy
ID: 8235809
I ensured that the stored data are UNICODE, that means VB6 will convert to DBCS internally while displaying chinese characters?..

But why MS Access 2000 can do that?... In MS Access 2000, it can display both TC & SC characters in W2K with 'Chinese (Taiwan)' in Regional setting.

And how can I change system regional settings in W2K?..

Thomas
 
0
 
LVL 2

Expert Comment

by:stretch71
ID: 8235907
Access 2K is fully unicode compliant, VB6 is not.  Access and the rest of the Office2K suite were developed to handle unicode input as well as the older code page input, depending on the OS version you are running.  You don't have this control in VB6.

When VB6 was developed it was assumed that the "outside world" (ie the operating system) worked in a particular code page, not in Unicode.  This means that all standard controls and so forth will convert from DBCS to unicode and back again on I/O.  You can get unicode compliant controls but it means a lot of rework you your application.

To change your system settings go to regional settings->general->set default... and select the appropriate locale.

After reboot you should see some changes to how your application behaves.
0
 

Author Comment

by:thomascy
ID: 8238112
stretch71, thank you for your detail explaination. But can you kindly suggest any other solutions?.. any other controls support UNICODE in VB?

Thomas
   
0
 
LVL 2

Accepted Solution

by:
stretch71 earned 2000 total points
ID: 8241684
There are the Windows Forms 2.0 controls (I think that they are installed as part of office, and you will have to check wether they can be redistributed) and they provide good replacements for most of the standard controls (ie text boxes, labels, etc) and in most cases can just be dropped in as direct replacements.

If you are using 3rd party controls, or something a little more unusual you will have to check for yourself.  Sorry.
0
 

Author Comment

by:thomascy
ID: 8258201
Good!... It really works!.. But is there any tricks in deployment?.. or is there any tips in using Forms 2.0 Control?..

Thomas
0
 
LVL 2

Expert Comment

by:stretch71
ID: 8258260
Deployment is standard.  Just make sure the .ocx is part of your install kit.  I haven't used the forms package that much so I can't provide any tips other than to use the controls in the same way you would any other control.
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 8259068
My understanding is that the forms ocx can only be distributed to machines that are licensed with Office, according to the Microsoft documentation.

0
 

Expert Comment

by:stressedout
ID: 8262971
I've experienced exactly the same in XP.

Before you can use Chinese(Taiwan) in VB, in Control Panel/Regional and Language options/Languages
you need to

"Install files for East Asian languages"

in "Text services and Input Languages/Details" add a Chinese(Taiwan)keyboard

in "Advanced"
select Chinese(Taiwan)
code pages (e.g Traditional Chinese Big 5)

voila! no ??? but chinese!!!

no wierd ocx stuff!!
0
 

Expert Comment

by:stressedout
ID: 8263026
Forget my last comment, it may not be relevant, sorry
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses
Course of the Month15 days, 15 hours left to enroll

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question