关于控制台Codepage设置:改变控制台使用的字符集,比如将cmd和powershell默认的gbk(Codepage:936)改为utf8(Codepage:65001)。
1. 注册表“计算机\HKEY_CURRENT_USER\Console”及子项中的"CodePage"键:只对直接用exe文件打开的控制台有效,比如直接运行cmd.exe,powershell.exe等,对此类文件的快捷方式不生效。可能"HKEY_CURRENT_USER\Console"没有子目录,可以通过打开的控制台改变属性中的其个值,此时刷新注册表,就会出现子目录。这个设置完成也不需要重启计算机。
例:比如要设置改变cmd的CodePage,假设目录的CodePage是936(对应的是GBK编码,使用chcp命令可查看),并且注册表"HKEY_CURRENT_USER\Console"还没有子目录。通过快捷"Win+r"调出运行对话框,输入cmd,在cmd控制台的标题栏“右键->属性->选项->光标大小”选择一个和之前不一样的,确定。此时刷新注册表就会出现"%SystemRoot%_system32_cmd.exe"子目录(用cmd.exe所在目录拼接的名字),点击这个,右边会有一个CursorSize,这个就是设置光标大小的。在这里添加一个DWORD值的键,起名CodePage,值改为65001(十进制,对应utf-8编码),重新打开一个cmd控制台,使用chcp查看,其值会变为65001。
2. 注册表“计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage”中的"OEMCP"键,对快捷方式和exe文件均生效,如果1中的CodePage被设置,则使用1的设置。此条设置需要重启计算机。这个设置可能会影响别的一些软件显示出现乱码,或者运行出现问题。