如何在cmd.exe默认Unicode Unicode字符集?
866字符集默认情况下安装在Windows'cmd.exe与光荣的Unicode相比较差和不方便。
我可以在默认情况下安装Unicode或将cmd.exereplace为另一个控制台,并使其成为默认值,以便程序使用它而不是cmd.exe?
我知道chcp 65001仅在运行控制台中更改编码。 我想在系统级别更改字符集。
在我尝试algirdas的解决scheme后,我的Windows崩溃(Win 7 Pro 64位),所以我决定尝试一个不同的解决scheme:
- 开始
Run
(Win + R) - 键入
cmd /K chcp 65001
你会得到你想要的。 要从任务栏或其他任何地方启动它,创build一个快捷方式(可以将其命名为cmd.unicode.exe
或任何您喜欢的),并将其Target
更改为C:\Windows\System32\cmd.exe /K chcp 65001
。
注册文件
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console] "CodePage"=dword:fde9
命令提示符
REG ADD HKCU\Console /v CodePage /t REG_DWORD /d 0xfde9
电源shell
sp -td HKCU:\Console CodePage 0xfde9
Cygwin的
regtool set /user/Console/CodePage 0xfde9
打开提升的命令提示符(以pipe理员身份运行cmd)。 通过以下方式查询您的registry以获取可用的TT字体:
REG query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont"
你会看到一个输出:
0 REG_SZ Lucida Console 00 REG_SZ Consolas 936 REG_SZ *新宋体932 REG_SZ *MS ゴシック
现在我们需要添加一个TT字体来支持像Courier New这样需要的字符,我们通过在string名称中加零来实现,所以在这种情况下,下一个字符将是“000”:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont" /v 000 /t REG_SZ /d "Courier New"
现在我们实现UTF-8支持:
REG ADD HKCU\Console /v CodePage /t REG_DWORD /d 65001 /f
将默认字体设置为“Courier New”:
REG ADD HKCU\Console /v FaceName /t REG_SZ /d "Courier New" /f
设置字体大小为20:
REG ADD HKCU\Console /v FontSize /t REG_DWORD /d 20 /f
如果你喜欢,启用快速编辑:
REG ADD HKCU\Console /v QuickEdit /t REG_DWORD /d 1 /f
将以下内容保存到带有“.reg”后缀的文件中:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] "CodePage"=dword:0000fde9
双击这个文件,并注册将导入它。
它基本上将HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\CodePage
CodePage键设置为0xfde9(十进制中的65001)。