Windows コンソールのデフォルトのコード ページを UTF-8 に変更する

Windows コンソールのデフォルトのコード ページを UTF-8 に変更する

現在、私は Windows 7 x64 を実行しており、通常はすべてのコンソール ツールをデフォルトのコード ページ 850 ではなく UTF-8 で動作させたいと思っています。

chcp 65001ツールを使用する前にコマンド プロンプトで実行すると役立ちますが、これをデフォルトのコード ページとして設定する方法はありますか?

アップデート:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP私の場合、値を変更すると65001システムが起動できなくなるようです。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun提案された からへの変更は@chcp 65001>nul私の目的にちょうどよく合っていました。(オレ・ブラン

答え1

コンソールのコード ページのみを変更するには、次の手順を実行します。

  1. スタート -> 実行 -> regedit
  2. へ移動[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
  3. 値を次のように変更します@chcp 65001>nul

Autorunが存在しない場合は、New String

答え2

Language settingsWindows 10 の 1809 ビルドでは、システムの に移動し、 を選択してAdministrative language settingsクリックしChange system locale...、ボックスをオンにしBeta: Use Unicode UTF-8 for worldwide language supportてから PC を再起動することで、この問題を永久に解決できました。

この方法では、コマンド プロンプトから起動しないアプリケーションも含め、すべてのアプリケーションに適用されます。
(Atom から Agda コードを編集しようとしていたので、これは私にとって必要でした。)

Windows スクリーンショット - 地域設定 - UTF-8

答え3

個人的には、レジストリを変更するのは好きではありません。これは多くの問題を引き起こす可能性があります。私はバッチ ファイルを作成しました:

@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS

C:\Windows\System32として保存し、デスクトップにswitch.batへのリンクを作成しました。cmd.exe

cmd ショートカットのプロパティで、保存先を次のように変更しました。C:\Windows\System32\cmd.exe /k switch

そうです、UTF-8 で入力する必要があるときは、このリンクを使用します。

答え4

コードページを変更するコマンドは ですchcp <codepage>。例: chcp 1252。Powershell ウィンドウに入力する必要があります。毎回入力する手間を省くには (常にコードページを変更する必要がある場合)、プログラムのコマンド ラインにコマンドを追加することができます。これを行うには、次の手順に従います。

  1. スタート メニューの Powershell アイコンを右クリックし、「その他」 > 「ファイルの場所を開く」を選択します。
  2. Powershell ショートカットを右クリックし、「プロパティ」を選択します。
  3. 「Target」コマンドラインの末尾に以下を追加します。-NoExit -Command "chcp 1252"

幸せになりましょう。他に選択肢がない限り、Windows レジストリをいじらないでください。

関連情報