Make Windows correctly display characters from languages other than English (set non-Unicode programs)

tutorial
Make Windows correctly display characters from languages other than English (set non-Unicode programs)
Do you use Windows in English, and run apps, files and multimedia files in other languages with different characters? Have you ever had problems with apps or content written in languages which use different characters from those found in English? Languages like Spanish, German, Polish, Arabic, Russian, Romanian or Hebrew? If you do, then you should read this article and understand how to make Windows correctly display characters from other languages: NOTE: This guide applies to all versions of Windows. Please read the theoretical chapters first, not just the practical ones, so that you have a good understanding of this topic.

What is Unicode and why does it matter?

First, let's talk about Unicode and what it is. Understanding it means that you know how Windows displays special characters like ῦ, Ᾰ, and many others, from different languages. Unicode is a character encoding standard, developed by the Unicode Consortium, which defines a set of letters, numbers, and symbols that represent almost all of the written languages in the world. Its success in unifying character sets has led to widespread use in the creation of 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 be displayed correctly on a computer with an operating system which uses a different character set (e.g., Windows in English). The opposite situation applies just as well: software written in English, which uses Latin characters, expected to run and be displayed correctly on a Windows computer in Chinese. In such instances, depending on how the application was coded, not all the characters in the interface of the app may be displayed correctly. Complications happen when you need to use software and operating systems that have "conflicting" character sets. For example, an app is in Chinese, Japanese, Arabic, Hebrew, Russian, while the operating system uses Latin characters, such as English, Spanish, German, Romanian, and so on. When such conflicts occur, the display language used by the operating system is considered to be the Unicode language and the program being run (with a different character set), as non-Unicode. By default, non-Unicode programs are set in Windows to use the same language as the operating system. Since the program uses a completely different character set from the one used by the default non-Unicode program language, it is not displayed correctly. To fix the problem, you need to change the default language used by Windows for non-Unicode programs to match the one used by the application you want to run. Below, you can see an example of such a conflict, and how some characters were displayed before changing the non-Unicode programs language in Windows, and after it was modified to the correct language.
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows

The most common problem: movie subtitles do not correctly display some characters

The most common situation when the language for non-Unicode programs causes usability frustrations is when playing movies or other media files. For example, you have Windows in English, and you are playing a 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 be displayed correctly.
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
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 in the media player that you are using. Setting the language for non-Unicode programs to your local language fixes these problems.

How to set the language for non-Unicode programs in Windows

It does not matter what version of Windows you are using. You have to open the Control Panel. Then, go to "Clock, Language, and Region."
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
If you are using Windows 10 or Windows 8.1, go to Region. If you are using Windows 7, go to "Region and Language."
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
This opens the Region window or, if you are in Windows 7, the "Region and Language" window. Go to the Administrative tab. In the "Language for non-Unicode programs" section, you see the currently set language for these apps and programs. To change it, click or tap "Change system locale."
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
The Region Settings window is displayed. By default, you see the current language that is used for non-Unicode apps and files.
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
Click or tap the "Current system locale" drop-down list to view all the languages that you can choose from. Select the new language that you want to use and press OK.
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
You are informed that you need to restart your Windows PC or device so that the change gets applied. Close all your open apps and files, and click or tap Restart now.
non-Unicode Programs, language, Windows
non-Unicode Programs, language, Windows
Windows restarts and, when you log in again, the new language is applied to non-Unicode apps and files. IMPORTANT: the change of the language used for non-Unicode programs gets applied to ALL non-Unicode apps and files. Therefore, if you need to run another non-Unicode app which uses a different character set, you need to change the non-Unicode program language again.

Conclusion

Changing the language used for non-Unicode programs is not that hard. Unfortunately, the theory is a bit complicated to explain and understand but hopefully we have done a good job at it. If you have any questions, do not hesitate to leave a comment below.
Discover: Productivity Language Recommended Tutorials Windows

Discussion (66)

  1. Soof
    Soof

    Perfect. Solved long-lasted problem. thanks

  2. Laura
    Laura

    Crazy. This is 2020 and we still don’t have a better solution that this. Shame on Windows, lol.

    Maybe there’s an app out there to make it work? We need one…

  3. Anthony Cisneros
    Anthony Cisneros

    Are their any errors or performance problems or differences when switching to a language the system was not formatted in? The reason I ask is I am writing a paper on the human brain and I came across a formula which theorizes problems should occur when changing the language of an is entirely. With the proper information a different strategy should be easier to develop. Thank you

    1. Anonymous
      Anonymous

      We are not aware of such problems.

  4. John A
    John A

    Hallo from Greece. Thank you very mach for your solution.

  5. Muhammad Yusuf
    Muhammad Yusuf

    Thank you so much! It absolutely what I was looking for! I searched too many sources but they were couldn’t help tough.

  6. Brian
    Brian

    Terrific article, a really good explanation. Thanks!

    1. Anonymous
      Anonymous

      Happy to help. Do not hesitate to subscribe to our newsletter, for more useful stuff.

  7. hamed
    hamed

    I did it. and it fixes my problem. but now i cant see english charecters in vba menu, i cant develop it becuase i cant see them.
    it works when i use macros but i cant see vba chars.

  8. Alex
    Alex

    This method did not work for me!

  9. yassine
    yassine

    Can I use different settings to run different non-unicode programes at the same time without restarting the system? Is it possible?
    (for exemple, I use photoshop and I need to add some arabic caracters to my design and I also use Ullustrator witch give me a unicode error when I change the current system locale to Arabic)
    Thank you for the article ! It was very helpful

  10. Georgi
    Georgi

    It really works thank you.

    1. Anonymous
      Anonymous

      You are welcome. 😉 Do not hesitate to subscribe to our newsletter, for more useful tutorials.

  11. Tarec
    Tarec

    I’ve been trying to figure it out for so long after migrating to english-based Windows.. Thank you 🙂

  12. Charn P.
    Charn P.

    It is easy to change the display of non-Unicode programs, but the difficult is that I cannot fine Lao in the Locale List

  13. Charn P.
    Charn P.

    No Lao Language in the list.

  14. Nicolas Hadjisavvas
    Nicolas Hadjisavvas

    Thanks A LOT!

  15. Jessie
    Jessie

    Hi, I have a question please. After I add a language for non-unicode program (Simplified Chinese in my case), the basic system font is changed automatically. Unfortunately the new system font is made of very thin strokes, so it is not very clear to read. How do I get the old system font back while keeping Chinese for non-unicode program? Thanks!

  16. Vedant
    Vedant

    Hi! I have a Chinese OS and a software developed in English. How can I make sure that menu items are displayed in Chinese in the software application on Windows 7? The system locale was already set to Chinese but words are displayed in English in my tool. Otherwise, all other words are displayed in Chinese!!

  17. Hassan Raafat
    Hassan Raafat

    Thanks it works for Arabic, it was continues writing question marks instead of Arabic letters for most programs, but now it writes correctly ‘Win 10’

  18. Rohan Bisht
    Rohan Bisht

    How to change this setting on the terminal/RDS server which is used by users of different countries? If I change the non Unicode language to Russian for russian users then will it impact the Chinese users using the same server?

  19. Arina
    Arina

    Hi. I tried opening Bullzip PDF Printer on Windows 7 (both are in Russian) and it displayed gibberish. I changed the language as suggested here and after the restart some parts of the program displayed Russian but most of it was a different gibberish from what I saw first. Any suggestions?

  20. Alfonso
    Alfonso

    Thank you, your post solved a problem.

  21. Nick
    Nick

    Thank a lot! It worked fine with Windows 8.1
    64bit.

  22. O
    O

    Thanks! It solved my problem with windows 8 not reading Cyrillic.

  23. Fonts Problem
    Fonts Problem

    Thank you, your post solved a problem I was unable to for weeks.

  24. FRNO
    FRNO

    Hi
    there’s a problem with my windows I think!
    When I restart the system after changing the system locale to japanese (japan),the windows doesn’t start up and it goes to windows automatic repair.I don’t know why but until i restore it to some time ago it won’t start.
    If anyone can help I’d appreciate it!
    Thanks
    P.S:Here’s my yahoo messenger ID:frno1376
    And this is my Skype: frnonoor
    Thanks again

  25. Binu Narayanan
    Binu Narayanan

    Thank you so much Mr.Ciprian Adrian Rusen,
    your article is very helpful to me to play with unicode and non-unicode characters.

  26. Jonluk
    Jonluk

    Many thanks for this helpful post. I’ve spent countless hours trying to resolve a subtitle issue to display Traditional Chinese characters. After endless posts of mumble jumble (modifying scripts, commands in W7), yours was the most straightforward and clearcut of them all. Thanks again!

  27. Khalid
    Khalid

    Hello all..

    I am a VB developer and I think there is a bug with Windows 7 64bit Arabic. The version with unalterable User Interface. When the default page is English US, Arabic displays well for some controls and garbage for others (button vs menu captions). And when you change the default page to Arabic, everything is garbage! This is weird as far as I know because the application works as expected in other Windows versions including Windows 7.

  28. MT Abraham
    MT Abraham

    hello,
    I am using win7 and want to use Malayalam language in Word. The Font directory already have Anjali, Kartika fonts. I have selected the fonts to type in Malayalam but failed.
    Could you please help me?

  29. mohammed irfan
    mohammed irfan

    hello
    the above method s working but all language are displaying in chinese fonts dont know which one is english plz help me with it

  30. Geoffrey Wheeler
    Geoffrey Wheeler

    I have Windows 7 Ultimate. I have Thai language installed and it works on almost every program. I do not have an Adminstation tab in Region and Languages Settings. I have a program [Rbase 9.6(32)] that does not handle Thai fonts completely. I think that it is non-unicode. Are there any program settings or Windows settings that I can use to set system locale in Win7 Ultimate?

  31. sameen
    sameen

    I try to change locale for non unicode language but Hindi or other indian languages are not listed in window 7 ultimate, how can i do it?
    Can anyone help please?

  32. Somebody
    Somebody

    Thank you very much sir!

  33. david wan
    david wan

    Hi, I brought my laptop at Hongkong. And the seller helped me to change the Chinese lang into English. But I update my windows just now and it turn back into Chinese again.

    I have done all the steps you wrote but after restarting the language is still in Chinese.

    Do you have any solution in this case?

  34. sumith
    sumith

    i have installed unicode Hindi and malayalam but the symbol which use to be in the task bar for language change is not appearing. hence it is difficult to change the transliteration and inscript options. Please tell me a solution . i am using windows 7 ultimate. i can type malayalam and hindi by inscript. but i need that changing module on taskbar

  35. real
    real

    I would recommend against changing non-unicode to a non-primary language (for most of your work) to accommodate some poorly written program, a lot of other poorly written programs in a different language (maybe your primary language) will break…

    For example, after you change non-unicode to Chinese, ssh sessions in SecureCRT cannot correctly display command line gui

  36. Nerses
    Nerses

    Could anybody point me out how to install character sets for languages not listed in the “Languages for non-unicode programs”? In particular I’m speaking about Armenian.

    Thanks

  37. mel villarreal
    mel villarreal

    when i used your tutorial i ended up switching english to japanese but when when switching back my audio glitches like if it was still japanese any way to troubleshoot it or a fix that you may know, ty.

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      Follow the same steps and choose the actual language you want to us? Why did you choose Japanese in the first place?
      And what exactly where you trying to achieve? Maybe you were applying the wrong solution to your problem.

  38. Tommy
    Tommy

    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 ([email protected])

  39. Jay
    Jay

    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 ) ?

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      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: https://font.ubuntu.com/

  40. Jay
    Jay

    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.

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      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.

  41. Ricztama
    Ricztama

    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

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      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.

  42. Anonymous
    Anonymous

    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.

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      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.

      1. Anonymous
        Anonymous

        @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!

        1. Rodrigo
          Rodrigo

          @Ciprian Adrian Rusen: Did you find any workaround on this issue?

          1. Ciprian Adrian Rusen
            Ciprian Adrian Rusen

            I’m afraid not.

  43. Anonymous
    Anonymous

    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

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      In which language is the application you are tying to use?

      1. Anonymous
        Anonymous

        Arabic Language ….

        Arabic Egypt… or Any Arabic

        as I say It work well in any other lanagauge

        Thanks

        1. Ciprian Adrian Rusen
          Ciprian Adrian Rusen

          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.

          1. Anonymous
            Anonymous

            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

          2. Khalid
            Khalid

            I am a VB developer and I think there is a bug with Windows 7 64bit Arabic. The version with unalterable User Interface. When the default page is English US, Arabic displays well for some controls and garbage for others (button vs menu captions). And when you change the default page to Arabic, everything is garbage! This is weird as far as I know because the application works as expected in other Windows versions including Windows 7.

          3. Khalid
            Khalid

            I am a VB developer and I think there is a bug with Windows 7 64bit Arabic. The version with unalterable User Interface. When the default page is English US, Arabic displays well for some controls and garbage for others (button vs menu captions). And when you change the default page to Arabic, everything is garbage! This is weird as far as I know because the application works as expected in other Windows versions including Windows 7.

    2. prowlers
      prowlers

      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

  44. Anonymous
    Anonymous

    I suggest installing and running for the same purpose the AppLocale by M$: en.wikipedia.org/wiki/AppLocale

    No restart is needed!

    1. Ciprian Adrian Rusen
      Ciprian Adrian Rusen

      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.