Windows 10 のコマンド ラインで \ が ¥ として表示されるのはなぜですか?

Windows 10 のコマンド ラインで \ が ¥ として表示されるのはなぜですか?

以前は問題なかったのですが、最新のアップデート後、コマンド ライン コンソールですべてのバックスラッシュが円記号として表示されるようになりました。他の場所では引き続き適切に表示されますが、原因と修正方法について何かご存知の方はいらっしゃいますか? コマンド ライン インターフェイスとテキスト ファイルでのバックスラッシュの表示は次のとおりです。

スクリーンショット

答え1

言語設定内で何かが誤って調整されたようです。まず、次のことを試してください。

  1. 開くコントロールパネル
  2. を選択地域アプレット
  3. を選択行政タブ
  4. フィールド内には非 Unicode プログラムの現在の言語と表示されていることを確認しますEnglish (United States)。表示されていない場合は、Change system localeボタンを使用して変更します。

    地域

ソース

より詳しい説明については、次の記事をご覧ください。

Windows で非 Unicode プログラムの表示言語を変更する方法

Unicode は、Unicode コンソーシアムによって開発された文字エンコード標準であり、世界中のほぼすべての書き言葉を表す文字、数字、記号のセットを定義します。文字セットの統一に成功したことにより、コンピュータ ソフトウェアの作成に広く使用されるようになりました。

Unicode はどこで登場するのでしょうか。特定の文字セット (中国語など) を持つ言語で書かれたソフトウェアが、まったく異なる文字セット (英語版 Windows など) を使用するオペレーティング システムを搭載したコンピューターで正しく実行され、表示されることが期待される場合です。反対の例も同様に当てはまります。ラテン文字を使用する英語で書かれたソフトウェアが、中国語版 Windows コンピューターで正しく実行され、表示されることが期待されます。このような状況では、アプリケーションのコーディング方法によっては、アプリケーションのインターフェイスのすべての文字が正しく表示されないことがあり、問題になります。

一般的に、複雑な問題が発生するのは、中国語、日本語、アラビア語、ヘブライ語、ロシア語などの「競合する」文字セットを持つオペレーティング システムと、英語、ルーマニア語、スペイン語、ドイツ語などのラテン文字を使用する言語とをソフトウェアと組み合わせる必要がある場合です。

このような競合が発生すると、オペレーティング システムで使用されている表示言語が Unicode 言語とみなされ、デフォルトでは非 Unicode プログラムも同じ言語を使用するように設定されます。文字セットが異なるソフトウェアは非 Unicode プログラムとみなされます。デフォルトの非 Unicode プログラム言語で使用される文字セットとはまったく異なる文字セットを使用しているため、正しく表示されません。この問題を解決するには、オペレーティング システムが非 Unicode プログラムに対して使用するデフォルトの言語を、実行するプログラムで使用される言語と一致するように変更する必要があります。

以下に、このような競合の例と、非 Unicode プログラムの言語を変更する前と正しい言語に変更した後で特定の文字がどのように表示されたかを示します。

言語

答え2

これは単なるフォントです。バックスラッシュが円記号になっている理由: 日本語では、ASCII のバックスラッシュ コード ポイントを円記号で上書きすることに決めました。同様のことが、ISO 646 の韓国語、ドイツ語、デンマーク語、フランス語、スペイン語でも起こっています。https://en.wikipedia.org/wiki/Backslash#Confusion_with_%C2%A5_and_other_characters

したがって、東アジアのロケールとは関係ありません (フォントもロケールを参照するという事実を除いて)。簡体字および繁体字中国語地域では、バックスラッシュはすべて元のバックスラッシュとして表示されます。

円記号を表すためにバックスラッシュ コード ポイントが広く使用されているため、今日でも MS 明朝などの一部のフォントではバックスラッシュ文字が ¥ としてレンダリングされます (たとえば、FontLab で開きます)。そのため、これらのフォントを選択すると、Unicode コード ポイント 00A5 (¥) と 005C (バックスラッシュまたは韓国語の場合は WON SIGN、₩) の文字は両方とも ¥ としてレンダリングされます。コンピューター プログラムは、これらの環境では 005C を依然としてバックスラッシュとして扱いますが、円記号として表示するため、特に MS-DOS ファイル名では混乱が生じます。http://archives.miloush.net/michkap/archive/2005/09/17/469941.html

答え3

このバックスラッシュ/円マークの問題は、私にとって長年の悩みでした。私は長年日本に住み、働いてきました。OS 設定よりもアプリケーションを修正する方が効果的だとわかりました。Windows コマンド プロンプトの場合、デスクトップのコマンド プロンプト ショートカットを編集しました。アイコンを右クリックし、プロパティ、オプション タブで、[レガシ コンソール] をチェックします。これは、Windows 10 64 ビット PC では魔法のように機能しました。

答え4

わかりました。私も同じ問題を抱えていて、解決するのに時間がかかりました。確かに日本語フォントが原因です。システムドライブ(WindowsインストールドライブがCドライブにあると仮定)に移動して、c:\windows\fonts\msgothic.ttcを削除します。

これで問題は解決するはずです

関連情報