
Have you ever had problems with running applications written in more complex languages which use special character sets like Chines, Arabic, Russian or Hebrew? If you have, then you should read this article about Unicode and changing the language used for non-Unicode programs. If this sounds like gibberish to you, don’t worry - read on and you will understand what Unicode is, how it works and how to make Windows 7 correctly display programs which use non-Unicode character sets.
Before going to your usual step by step tutorial, let’s talk about Unicode and what it is. Unicode is a character encoding standard, developed by the Unicode Consortium, that defines a set of letters, numbers, and symbols that represent almost all of the written languages in the world. Its success at unifying character sets has led to widespread use in the internalization and localization of computer software.
Where does Unicode come in? When you talk about software being written in a language with a specific character set (e.g. Chinese) that is expected to run and get displayed correctly on a computer with an operating system which uses a completely different character set (e.g. Windows 7 in English). The opposite example applies just as well: software written in English, which uses Latin characters, expect to run and get displayed correctly on a Windows 7 in Chinese. In such scenarios, depending on how the application was coded, it can happen that not all the characters in the interface of the application get displayed correctly, becoming a bother.
Complications generally happen when you need to combine software with operating systems that have “conflicting” character sets like Chinese, Japanese, Arabic, Hebrew, Russian, etc. versus languages which use Latin characters, such as English, Romanian, Spanish, German, etc.
When such conflicts occur, the display language used by the operating system is considered to be the Unicode language and, by default non-Unicode programs are set to use the same language. The software with a different character set is considered to be a non-Unicode program. Since it uses a completely different character set than the one used by the default non-Unicode program language, it is not displayed correctly. In order to fix the problem, you need to change the default language used by the operating system for non-Unicode programs to match the one used by the program you want to run.
Below you can see an example of such a conflict, and how certain characters were displayed before changing the non-Unicode programs language and after it was changed to the correct language.

The most common scenario when the language for non-Unicode programs being set incorrectly causes usability frustrations is when playing media files. For example: you have Windows 7 in English and you are playing an English language movie for which you need to play the subtitles in your local language, which includes some characters not found in the English language - those characters might not get displayed well. You can also play music in your local language, and the name of a band or song contains characters not found in the English language - chances are those characters do not get displayed correctly.
Setting the language for non-Unicode programs to your local language will always fix these problems.
Open the Control Panel and click the Clock, Language, and Region link.

In the Clock, Language, and Region panel, click on Region and Language.

This opens the Region and Language. There, go to the Administrative tab. In the Language for non-Unicode programs section, you can see the currently set language. To change it, first click on Change system locale.

This opens the Region and Language Settings window. Click on the Current system locale drop-down list and select the language you need to be used.

When done selecting the language, click OK.

You are now informed that you need to restart your computer, so that the change gets applied. Close all your open applications and documents and click on Restart now.

When you log back in, the new language is applied for non-Unicode programs.
IMPORTANT WARNING: the change of the language used for non-Unicode programs gets applied to ALL non-Unicode programs. Therefore, if you need to run another non-Unicode program which uses a completely different character set, you need to change the non-Unicode program language yet again.
Changing the language used for non-Unicode programs is not that hard. Unfortunately the theory is more complicated to explain and understand but hopefully we have done a good job at it. If you have any questions don’t hesitate to use the comments form below. Also, for more articles on languages, check the articles recommended below.
Install and Change to a New Display Language in Windows 7 Home and Professional
Install & Change to a New Display Language in Windows 7 Home & Professional with Vistalizator
Install and Change to a New Display Language in Windows 7 Ultimate & Enterprise
Changing the Display Language Used by Windows Live Essentials 2011 Tools
Comments
I suggest installing and
I suggest installing and running for the same purpose the AppLocale by M$: en.wikipedia.org/wiki/AppLocale
No restart is needed!
As the Wikipedia page you
As the Wikipedia page you shared says "Running AppLocale on Windows Vista or Windows 7 is not officially supported and it fails to install on default configurations of these OS if attempted".
The workaround required to make it work on Windows 7 are a bit too complex for normal users.
I have sume application which
I have sume application which work well But the problem occurs when I change the settings of the local language in the windows
to Arbic
This application
Give me an error message, which means - the application can not open a file for its settings ,
Which means that he can not access the file path
Or
That can not open the file for reading and writing
Note: I do not change anything, just select the language of the local Arab
When re-change to any other language English French - Russian - Chinese
The application works well
Please Help me to solv the problem
In which language is the
In which language is the application you are tying to use?
Arabic Language .... Arabic
Arabic Language ....
Arabic Egypt... or Any Arabic
as I say It work well in any other lanagauge
Thanks
If the application is in
If the application is in Arabic but it doesn't work well when you change the non-Unicode language to Arabic, then I'm afraid there might be a bug with the application itself.
You will need to contact the developer of the application and ask them about your problem.
I really don't think there's something wrong with you Windows in this case.
Thank you for your interest
Thank you for your interest
I spoke with the developer of the program but did not give a solution
I think that the problem in the windows, which can not read the name of the folder which contains the program settings after I change the
not-unicode to Arabic.
Note : Program, which has the problem - English -
But I use other programs that use Arabic in non-unicode
So I must change the settings on the windows of the not-unicode program to Arabic, and here the problem occurs
Thanks again for your interest
to anonymouse:
to anonymouse:
hello you mentioned that you have an application that works except when you use an arab language. can you tell me what was your solution.
thanks
Thank you for the write-up.
Thank you for the write-up. I have been explaining this to my friends to help them with their "unicode issues" for years now. Unfortunately, even though I help them with their issues, I still continue to experience the side-affects of changing the language for non-unicode programs, and updating to Windows Visa, Windows 7 and even Windows 7 Ultimate have failed to resolve the issue.
The issue: I am a native English speaker but I also speak, and importantly, read, Chinese, Japanese and Korean. As such, I have many media files, songs, movies with subtitles, etc, in all of these written languages, and even more languages that I don't even speak but still appreciate their music, or movies, etc. When, I change the language for non-unicode programs to Chinese PRC, for example, than the text for the majority of my Russian songs and movie subtitles no longer displays properly, and I end up with ascii garbage characters where the text should be. This happens in many combinations, and not just with Russian. Obviously, it is a hassle for me to always change the non-unicode support language option between movies, or worse, between songs. Issue number two is that when ever I change the non-unicode language support choice, the name and adddress formats (order of name, country, city, street,, phone number options, etc.) in my Outlook contacts is also changed to match the format for the particular country. As of yet I have not been able to find a resolution to these two issues. Please advise.
That is a tough problem
That is a tough problem indeed. In order to view correctly characters from so many languages, you need to switch the language for non-Unicode programs often. This means way too many reboots.
I wish I could figure out an easy way to help. I will try to search for a solution. It might take a while and not sure if I can really find a solution to fit your needs.
@Ciprian Adrian Rusen: Thank
@Ciprian Adrian Rusen: Thank you for following up on this important topic and for the ongoing investigation!
In the past I have also tried to submit this issue to Microsoft directly to let them know some of the language issues bilingual or multi-lingual users continue to experience with Windows, but I have yet to find the right location to submit the information to, and when I do submit it somewhere, I never receive a reply anyway (as expected I guess do to the shear volume of mail they must receive).
I find it hard to imagine that all of the workers at Microsoft are monolingual and have all of their media files in just one language. is it possible that nobody else is experiencing this issue, or they found a work around that I am simply unaware of?
By the way, another side affect of changing the non-unicode support language is that newly installed applications/drivers will often install in that language instead of the default system language, without even prompting for an installation language choice, and completely disregarding the default system language. The time consuming work around I have is to change the non-unicode support language setting, reboot, install the application/driver, and change the non-unicode support language setting again and once more reboot.
Cheers!
Hello, I have followed the
Hello, I have followed the way you give above and successfully to display Chinese characters. But after I did some updates on windows 7, I found the non-unicode programs that I use to change again into characters that aren't recognizable. Is there another solution?
Thanks Regards
Chances are that your non
Chances are that your non-unicode language has been changed again by one on of those updates. Check again to see if it is set correctly.
Changing the Display Language
Changing the Display Language Used for non-Unicode Programs is highly informative.
Regarding localization please consider my problem
I have an application and it has enormous number of displays ( i.e. lot of GUI controls ). I have localized the application to Japanese as well as Spanish, obviously English by default.
Since application need to support East Asian, I have used MS UI Gothic as font for all GUIs. Now I am planning to localize to Russian, but when I try to do so, it appearance is not good.
I find out that this is due to the MS UI Gothic font , since when I changed to Arial its worked well. Do you have any option to help me to localize my application to Russian with MS UI Gothic font.
If that's a font limitation
If that's a font limitation then there's nothing you can do in Windows. The font should include characters for Russian. If it doesn't, you either choose another font that does or you choose a font that works well just for the Russian language. In this case you end up using two fonts for your application.
Thank You very much for the
Thank You very much for the prompt reply. Bottom line to say there is no font which support all language. For example if we choose Arial then it wont support all Japanese characters. MS UI Gothic is apt for Japanese. But it wont support Russian. However from depth knowledge about Unicode, do you have any suggestion for a universal font ( One font which support
all languages ) ?
I am not that knowledgeable.
I am not that knowledgeable. No font comes to mind with support for all languages and characters.
The only idea I have is to look at Ubuntu. They created some fonts which are open source, free and with support for many languages. You can check them out here: http://font.ubuntu.com/
Dear All,
Dear All,
i had frustrate of my problem, i have a database "sybase" i wanna input a name in china lang. i had try in regional like in up there but it's still fail, when i type in china lang. it works, but when i save the china lang is disappear and become just space...
please all, who could help me sent me how must i do, and give me the answer in my email (kain_mizuoka@yahoo.com)
Add new comment