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

console encoding windows windows-7

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

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

Update:

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

提案された HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun から @chcp 65001>nul への変更は、私の目的のためにちょうどよく機能しました。(Ole_Brun に感謝します)

  154  Regent  2011-04-12


ベストアンサー

コンソールのみのコードページを変更するには、次のようにします

  1. スタート→実行→regedit
  2. [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]に移動します
  3. @chcp 65001>nulに変更してください

Autorunがない場合は、New Stringを追加します

109  Nils Magne Lunde  2011-04-12


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

@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で入力する必要があるときは、このリンクを使っています

49  juca  2013-12-07


レジストリを編集します

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"OEMCP"="65001"

その後、再起動します。この修正により、Consolasフォントを使用している場合、PowerShellが小さいフォントサイズにロックされてしまうようです。cmd.exeはまだ正常に動作しています。回避策としては、Lucida Consoleを使うか、Cascadia Monoに切り替えました

GitHub - microsoft/cascadia-code: This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal. - microsoft/...

38  Steven Penny  2015-06-13


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

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

25  Isti115  2019-05-11


これは、PowerShellプロファイルを作成し、そこに「chcp 65001 >$null」というコマンドを追加することで行うことができます

PS> Set-ExecutionPolicy RemoteSigned
PS> New-Item -Path $Profile -ItemType file -Force
PS> notepad $Profile

これはレジストリを編集する必要がなく、ショートカットの編集とは異なり、Windowsエクスプローラのコンテキストメニューを使用して特定のフォルダでPowerShellを起動した場合に動作します

6  Freon Sandoz  2017-09-03


コードページを変更するコマンドは chcp <codepage> です。例としては、以下のようになります。chcp 1252.これはパワーズシェルのウィンドウで入力する必要があります。毎回入力する手間を省くために (常にコードページを変更しなければならない場合)、プログラムのコマンドラインに追加することができます。そのためには、以下の手順に従ってください

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

幸せになってください。他に選択肢がない限り、Windowsのレジストリを騒がないようにしましょう

5  JColares  2016-11-02


あなたがConEmuを使用しているならば

  1. 右上のメニューから「設定」を開きます
  2. スタートアップ」→「環境」と進みます
  3. 改行でchcp 65001を追加します
  4. 設定の保存」をクリックします
  5. ConEmuを閉じて再度開きます

enter image description here

2  Ryan Shillington  2020-05-04


タイトルとURLをコピーしました