Reg*_*ent 175 windows windows-7 encoding console
目前我运行的是 Windows 7 x64,通常我希望所有控制台工具都使用 UTF-8 而不是默认代码页 850。
chcp 65001在使用任何工具之前在命令提示符下运行会有所帮助,但有什么方法可以将其设置为默认代码页?
更新:
在我的情况下,更改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP值65001使系统无法启动。
建议更改HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorunto@chcp 65001>nul正好符合我的目的。(感谢Ole_Brun)
Nil*_*nde 126
要仅为控制台更改代码页,请执行以下操作:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]@chcp 65001>nul如果Autorun不存在,您可以添加一个New String
小智 56
就个人而言,我不喜欢更改注册表。这会导致很多问题。我创建了一个批处理文件:
@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS
Run Code Online (Sandbox Code Playgroud)
我另存C:\Windows\System32为switch.bat并在cmd.exe桌面上创建了一个链接。
在 cmd 快捷方式的属性中,将目标更改为: C:\Windows\System32\cmd.exe /k switch
瞧,当我需要输入 UTF-8 时,我使用这个链接。
Ste*_*nny 40
编辑注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"OEMCP"="65001"
Run Code Online (Sandbox Code Playgroud)
然后重新启动。使用此修复程序,如果您使用的是 Consolas 字体,它似乎会将 PowerShell 锁定为小字体。cmd.exe仍然工作正常。作为解决方法,您可以使用 Lucida Console,或者我切换到 Cascadia Mono:
https://github.com/microsoft/cascadia-code
Ist*_*115 35
在 Windows 10 的 1809 版本中,我设法通过转到系统的Language settings,选择Administrative language settings,单击Change system locale...并选中该Beta: Use Unicode UTF-8 for worldwide language support框然后重新启动我的电脑来永久解决此问题。
这样它就适用于所有应用程序,即使是那些我不是从命令提示符启动的应用程序!
(这对我来说是必要的,因为我试图从 Atom 编辑 Agda 代码。)
小智 6
这可以通过创建 PowerShell 配置文件并向其添加命令“chcp 65001 >$null”来完成:
PS> Set-ExecutionPolicy RemoteSigned
PS> New-Item -Path $Profile -ItemType file -Force
PS> notepad $Profile
Run Code Online (Sandbox Code Playgroud)
这不需要编辑注册表,并且与编辑快捷方式不同,如果使用 Windows 资源管理器上下文菜单在特定文件夹中启动 PowerShell,它将起作用。
小智 5
更改代码页的命令是chcp <codepage>. 例子:chcp 1252。您应该在 Powershell 窗口中键入它。为了避免每次都输入它的麻烦(如果您总是必须更改代码页),您可以将它附加到程序的命令行。为此,请按照下列步骤操作:
-NoExit -Command "chcp 1252"要开心。除非您别无选择,否则不要对 Windows 注册表大惊小怪。
| 归档时间: |
|
| 查看次数: |
392045 次 |
| 最近记录: |