Chinese application is not showing Chinese characters

  • Thread starter BrokenBokkenProductions
  • Start date
B

BrokenBokkenProductions

I have chinese installed on my pc (English is default language and I lve in
the US). I know it's installed because I can view websites in chinese and it
shows the chinese characters. Windows live shows chinese characters. When I
run the application or even the install, it shows a lot of question marks and
other weird characters. I believe the application is written in C++. My
friend (who lives in china), can run the same version and he sees the chinese
charaacters, but he is using windows XP (chinese version). Is there a way to
make it so the application will display the Chinese characters without
turning my entire operating system to chinese or am I just out of luck?
 

My Computer

P

Paul Randall

Comments inline: hopefully an expert will correct any mistakes I'm making
here.

"BrokenBokkenProductions"
<[email protected]> wrote in message
news:[email protected]
>I have chinese installed on my pc (English is default language and I lve in
> the US). I know it's installed because I can view websites in chinese and
> it
> shows the chinese characters.


Yes you have the chinese charset installed on your computer. The only
reason that chinese characters are displayed when you view these websites is
that the HTML explicitly specifies the charset to be used.

> Windows live shows chinese characters. When I
> run the application or even the install, it shows a lot of question marks
> and
> other weird characters.


This application and its installation package, just blindly thinks it is
being installed on a Chinese computer and doesn't specify any particular
charset to be used, so it uses your default which is US-English, and you get
?????

> I believe the application is written in C++. My
> friend (who lives in china), can run the same version and he sees the
> chinese
> charaacters, but he is using windows XP (chinese version). Is there a way
> to
> make it so the application will display the Chinese characters without
> turning my entire operating system to chinese or am I just out of luck?


You might try emailing the vendor or check their website for a way to run
the installation package and the software under a specific charset. It is
easy to change the charset during the execution of a script, but I don't
know how to execute a program within the namespace of that changed charset.

If you have Vista Ultimate, you may be able to download and install the
appropriate language pack (or whatever it is called) so that the default can
be chinese.

-Paul Randall
 

My Computer

S

Stephan Rose

Try doing this:

Open your control panel, go to the regional and language settings.

Somewhere in there, I don't remember the correct tab off the top of my
head, is an option to set the locale for non unicode programs. Set it to
chinese. Then reboot.

After that, the application should display correctly.

If it still doesn't....no idea.
 

My Computer

A

Andrew McLaren

Hi ,

Chinese language information is already installed on your PC, as you noted
(web pages, etc display correctly). In fact every edition of Vista contains
language information for most major world languages (these are the C_*.nls
files, in System32 subdirectory). Support for Simplified, Traditional and
Big5 are all built-in to Vista. However, an application will only use this
language information if it explicitly asks for it; for example by calling
functions like SetLocaleInfo() or SetThreadLocale().

Applications that are written without instructions to explicitly control the
language they use, just use the underlying System language and character set
(collectively known as a "Codepage"). Which is fine when you run a US
application on a US PC, or a Chinese app on a Chinese PC. But not when you
run a Chinese app on a US PC. Recall that all data are just "numbers"
internally; the computer doesn't really know anything about strings or text.
It just throws up a "character number 5446" onto the screen, and hopes that
causes something which makes sense to the user to be displayed. On a Chinese
PC that would be "?"; on a US PC it's just question marks. In this case,
your Chinese app is throwing up numbers which make sense on a Chinese PC but
not on a US PC.

Fortunately, there may be a solution! You can override the default system
code page for apps which do not control their own code page. This setting is
global, it affects *all* applications, you can't just turn it on for one
specific application. But most of Windows itself, and applications like
Office, do control their own codepages, so they won't be affected by
changing this setting.

- go to Control Panel;
- click on Clock, Language and Region;
- click on Regional and Language Options;
- click on the Administrative tab;
- press the "Change System Locale ..." button;
- hit OK or enter Administrator credentials, when prompted;
- the drop-down list of available Locale options appears.
- choose the appropriate Locale eg Chinese (PRC), Chinese (Taiwan) etc.
- hit OK. The system will need to reboot, for the change to take effect.

When you log back in, 99% of Windows and your applications will look exactly
the same as before (standard US interface). But when you run your Chinese
app, it will "think" it is running on a Chinese PC, and display its text
accordingly.

It's a complex area, and there are several unknowns, and possible pitfalls:

- I'm assuming the C++ app is using a "Double Byte Character Set" (DBCS)
encoding, rather than Unicode. If it is a Unicode application, everything I
said above no longer applies! If we get or that point let me know and well
troubleshoot it further.

- the steps above, only solve the problem of *displaying* text in Chinese -
if you want to input text in Chinese, you'll need to configure a Chinese
Keyboard as well.

- if the application selects a particular font, the font file you are using
needs to contain Chinese characters. For example, you can display Chinese
Text "correctly" on an English PC, but if you use the default English
"Arial" font, you still get garbage on the screen - The Arial font file just
doesn't contain Chinese Characters. You'd need to use a font which does
contain Chinese, such as Arial Unicode or GungSuh.

Anyway .. I hope this helps a bit. Let us know how you get on.

--
Andrew McLaren
amclar (at) optusnet dot com dot au
 

My Computer

Top