我想在 DOS 中永久设置代码页。
chcp 1252
我如何存储该命令的结果?
答案1
打开注册表编辑器 ( regedit
) 并导航到以下项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
编辑OEMCP
右侧的值并将其从默认值(861?) 到1252。
现在打开一个新的命令提示符并输入chcp
以查看当前代码页。(可能——很可能?——直到您重新启动才需要。)
另一种方法是将命令添加chcp
到Autorun
键(您可以为特定用户或整个系统设置它):
REGEDIT4
; Auto–code-page.reg
; Have chcp automatically run whenever a command-prompt is opened
;
;For current user
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="chcp 1252"
;For all users
;[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
;"Autorun"="chcp 1252"
答案2
打开控制面板。选择时钟、语言和区域:
然后更换键盘或其他输入法:
切换到行政的标签:
点击更改系统区域设置在下面非 Unicode 程序的语言并选择所需的语言。
但是是的,它改变了:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP
或许还有其他东西。
说到这里,这可能就是为什么改变OEMCP
系统65001
的原因无法启动。控制面板里没有这个选项。
(截图取自这里因为我手头没有带有英语语言包的 Windows 来截屏。)
答案3
更改的值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
会导致我的系统无法启动。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
在of中添加字符串值
"Autorun"="chcp 1252"
解决了问题。
答案4
我是俄语本地化的 Windows 7 x64 用户,因此我需要将代码页 1251(Windows 西里尔文)设置为 CMD 的默认代码页。Synetech 的解决方案以及Steven Penny 的解决方案确实有效,但使用后者时只有 CMD 会受到影响,因此例如ping
实用程序将无法正常工作,因此我决定同时应用它们。同时更改默认代码页是不够的:CMD 窗口的默认字体不支持此编码,我被迫将字体设置Lucida Console
为默认字体。以下 .REG 文件完成整个工作(将默认代码页更改为 1251,并Lucida Console
使用适当的属性将其设置为 CMD 的默认字体):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"OEMCP"="1251"
[-HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
[HKEY_CURRENT_USER\Console]
; Code Page 1251
"CodePage"=dword:000004e3
; Default font for CMD window is "Lucida Console"
"FaceName"="Lucida Console"
"FontFamily"=dword:00000036
"FontSize"=dword:00140000
"FontWeight"=dword:00000190
"ScreenBufferSize"=dword:012C0064
"WindowSize"=dword:00190064
将此 .REG 文件导入注册表后(双击该文件并选择“是”),您必须重新启动系统才能使更改生效。