Unicode based platforms, such as Windows XP, emulate the language environment required to run non-Unicode applications by internally converting application's non-Unicode text data to Unicode using a system-wide variable commonly called the system local (or language for non-Unicode applications). The language of the non-Unicode applications should be of the same script or family as the one defined by the system locale. Failing to meet this condition results in display of garbage characters in the UI of the application.
This approach has few usability limitations:
1.Only an administrator has the ability of setting the system locale value. 2.Setting the system locale requires a system reboot. 3.Only one system locale can be set at a time.