26

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:

Screen Shot

4

6 Answers 6

20

It sounds like something was inadvertently adjusted within your language settings. For starters, try the following:

  1. Open the Control Panel
  2. Select the Region applet
  3. Select the Administrative tab
  4. Within the field that says Current language for non-Unicode programs, ensure that it says English (United States). If not, utilize the Change system locale button to modify it.

    Region

(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.

Language

2
  • 12
    Technical background: the Japanese code page needed a place to put the yen symbol. Whoever came up with the code page decided that the backslash position was it. Backslashes got used as path separators in DOS and Windows. The filesystem code doesn't care what the character looks like, only what the character code value is. The same thing happens with the Korean code page an the won symbol. Somehow the code page got changed and backslashes no longer look like backslashes.
    – Dranon
    Jan 15, 2017 at 20:18
  • 2
    Historical notes on it from an MS developer: web.archive.org/web/20061208222907/http://blogs.msdn.com/…
    – Ray
    Aug 1, 2019 at 9:39
6

This is just a font. The reason why backslash is a yen-sign: Japanese decided to override backslash code point in ASCII with the yen-sign. Similar happens in Korean, German, Danish, French and Spanish in their variants of ISO 646: https://en.wikipedia.org/wiki/Backslash#Confusion_with_%C2%A5_and_other_characters

Therefore it has nothing to do with East-Asian locales (besides the fact that fonts also look into locale). Simplifed and traditional Chinese region all display backslash as the original backslash.

Due to extensive use of the backslash code point to represent the yen sign, even today some fonts such as MS Mincho render the backslash character as a ¥ (open it in FontLab for example), so the characters at Unicode code points 00A5 (¥) and 005C (backslash or WON SIGN, ₩, for Korean) both render as ¥ when these fonts are selected. Computer programs still treat 005C as a backslash in these environments but display it as a yen sign, causing confusion, especially in MS-DOS filenames. http://archives.miloush.net/michkap/archive/2005/09/17/469941.html

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.

0

I too have been living with this issue for a long time. (Well before the latest Win 10 updates.) But today I thought I would finally investigate a fix. After a few dead-ends, what worked for me was changing the command prompt's font. Right-click the icon, Properties, Font, and I chose Lucinda Console. Previously, the font had been set to Courier New.

-1

ok, i had same issue and took me sometime to figure out, it is indeed caused by Japanese font go to your system drive ( assuming your windows installation drive is on C drive) delete c:\windows\fonts\msgothic.ttc

this should fix your problem

-6

That is strange.

First thing I would try is opening an administrative command prompt and running the System File Checker

sfc /scannow

If that doesnt fix the problem, I would roll back the update and reinstall the update.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .