Setting the user and system locales

Q. Why localized files show question marks/damaged characters in the application X?

A. Most likely the application is ANSI. You have to set the system default locale to match the data you need to handle.

Now, why this happens is explained in detail here: How SBCS-MBCS-Unicode application interact with Windows.

In this post I will explain how to set the user and system locale. This is a question I had to answer it again and again. So I think answering it here, with screen-shots and all, will be useful in the long run.

Changing the system locale will not change the UI language, only what is considered ANSI code page. In fact, the XP description in Windows XP ( Language for non-Unicode programs) is much more clear.

So, let’s start. The options for Windows XP are a bit different, so you can jump directly there.

Windows 2000 or XP in Classic Mode

From the Start menu select Settings - Control Panel.

Now double-click Regional Options and you will get a multi-tab dialog.

In the first tab ( General), the drop-down list under Settings for the current user is used to set the user locale.

To access the system locales, click the Set default… button.

You will get another dialog with a drop-down list. From this list you select the system locale.

If the files necessary for the selected locale are not already installed (not checked in the Language settings for the system), you will be prompted for the install CD. If the files are already installed, you will be informed that you have all you need, and will be offered to use the already installed files. Click Yes.

You will then be prompted to reboot. The changes will not take effect until you reboot, so you have to do it.

This is it!

Windows XP

From the Start menu select All Programs - Control Panel.

If the panel is in Category View mode, double-click on Date, Time, Language and Regional Options.

Now double-click Regional Options and you will get a multi-tab dialog.

In the first tab ( Regional Options), the drop-down list under Standards and formats is used to set the user locale.

In the third tab ( Advanced), the drop-down list under Language for non-Unicode programs is used to set the system locale.

If the files necessary for the selected locale are not already installed (not checked in the Language settings for the system), you will be prompted for the install CD. If the files are already installed, you will be informed that you have all you need, and will be offered to use the already installed files. Click Yes.

You will then be prompted to reboot. The changes will not take effect until you reboot, so you have to do it.

This is it!