
現在、私は 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
コンソールのコード ページのみを変更するには、次の手順を実行します。
- スタート -> 実行 -> regedit
- へ移動
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
- 値を次のように変更します
@chcp 65001>nul
Autorun
が存在しない場合は、New String
答え2
Language settings
Windows 10 の 1809 ビルドでは、システムの に移動し、 を選択してAdministrative language settings
クリックしChange system locale...
、ボックスをオンにしBeta: Use Unicode UTF-8 for worldwide language support
てから PC を再起動することで、この問題を永久に解決できました。
この方法では、コマンド プロンプトから起動しないアプリケーションも含め、すべてのアプリケーションに適用されます。
(Atom から Agda コードを編集しようとしていたので、これは私にとって必要でした。)
答え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 ウィンドウに入力する必要があります。毎回入力する手間を省くには (常にコードページを変更する必要がある場合)、プログラムのコマンド ラインにコマンドを追加することができます。これを行うには、次の手順に従います。
- スタート メニューの Powershell アイコンを右クリックし、「その他」 > 「ファイルの場所を開く」を選択します。
- Powershell ショートカットを右クリックし、「プロパティ」を選択します。
- 「Target」コマンドラインの末尾に以下を追加します。
-NoExit -Command "chcp 1252"
幸せになりましょう。他に選択肢がない限り、Windows レジストリをいじらないでください。