Why is Windows 10 displaying \ as ¥ on the command line?
It was fine before, but after the latest update all backslashes are being displayed as the yen symbol in the command line console. It is still displayed properly everywhere else, any idea as to what the cause may be and how to fix it? Here is how the backslash is displayed in the command line interface versus a text file:
Solution 1:
It sounds like something was inadvertently adjusted within your language settings. For starters, try the following:
- Open the Control Panel
- Select the Region applet
- Select the Administrative tab
-
Within the field that says Current language for non-Unicode programs, ensure that it says
English (United States)
. If not, utilize theChange system locale
button to modify it.
(Source)
A more in-depth explanation can be found in the following article:
How to change the display language of non-Unicode programs in Windows
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 creation 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 be displayed correctly on a computer with an operating system which uses a completely different character set (e.g. Windows in English). The opposite example 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 situations, 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 from 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.
Solution 2:
This backslash/Yen_mark thing has been a long-time problem for me. I have lived and worked in Japan for many years. I found that fixing applications was more effective than OS settings. For Windows command-prompt, I edited the desktop command-prompt shortcut. Right-click the icon, Properties, Options tab, check "Legacy Console". This worked like magic for me on a Windows 10 64-bit PC.