我可以默认安装Unicode或将cmd.exe替换为其他控制台并将其设置为默认值,以便程序使用它而不是cmd.exe吗?
我了解 chcp 65001 仅在正在运行的控制台中更改编码。我想在系统级别更改charset。
答案 0 :(得分:43)
在我尝试了algirdas的解决方案之后,我的Windows崩溃了(Win 7 Pro 64bit)所以我决定尝试不同的解决方案:
Run
(Win + R)cmd /K chcp 65001
你将获得你想要的大部分。要从任务栏或其他任何位置启动它,请创建一个快捷方式(您可以将其命名为cmd.unicode.exe
或任何您喜欢的名称)并将其Target
更改为C:\Windows\System32\cmd.exe /K chcp 65001
。
答案 1 :(得分:18)
注册文件
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console]
"CodePage"=dword:fde9
命令提示符
REG ADD HKCU\Console /v CodePage /t REG_DWORD /d 0xfde9
PowerShell的
sp -t d HKCU:\Console CodePage 0xfde9
Cygwin的
regtool set /user/Console/CodePage 0xfde9
答案 2 :(得分:14)
打开提升的命令提示符(以管理员身份运行cmd)。 通过以下方式向控制台查询可用的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 ゴシック
现在我们需要添加一个支持Courier New所需字符的TT字体,我们通过在字符串名称中添加零来实现这一点,所以在这种情况下,下一个将是“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
答案 3 :(得分:8)
将以下内容保存到带有“.reg”后缀的文件中:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9
双击此文件,regedit将导入该文件。
它基本上将键HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\CodePage
设置为0xfde9(十进制系统中为65001)。