ฉันต้องการตั้งค่าอย่างไม่สม่ำเสมอใน DOS เพจรหัส
chcp 1252
ฉันจะเก็บผลลัพธ์ของคำสั่งนั้นได้อย่างไร
ฉันต้องการตั้งค่าอย่างไม่สม่ำเสมอใน DOS เพจรหัส
chcp 1252
ฉันจะเก็บผลลัพธ์ของคำสั่งนั้นได้อย่างไร
คำตอบ:
เปิดตัวแก้ไขรีจิสทรี ( 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"
เปิดแผงควบคุม เลือกนาฬิกาภาษาและภูมิภาค :
จากนั้นเปลี่ยนคีย์บอร์ดหรือวิธีป้อนข้อมูลอื่น ๆ :
สลับไปที่แท็บการจัดการ :
คลิกเปลี่ยนภาษาของระบบภายใต้ภาษาสำหรับโปรแกรมที่ไม่ใช่ Unicodeและเลือกภาษาที่ต้องการ
แต่ใช่มันเปลี่ยนแปลง:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP
และบางทีสิ่งอื่น ๆ
การพูดถึงสิ่งนี้อาจเป็นสาเหตุOEMCP
ที่65001
ทำให้ระบบไม่สามารถบูตได้ ไม่มีตัวเลือกดังกล่าวในแผงควบคุม
( ภาพนี้ถ่ายจากที่นี่เนื่องจากฉันไม่มี Windows ที่มีชุดภาษาอังกฤษอยู่ในมือเพื่อสร้างภาพหน้าจอ )
การเปลี่ยนค่าHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ทำให้ระบบของฉันไม่สามารถบูตได้
การเพิ่มค่าสตริงใน
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
จาก
"Autorun"="chcp 1252"
แก้ไขปัญหา
ฉันเป็นผู้ใช้ Windows 7 x64 ที่แปลเป็นภาษารัสเซียดังนั้นฉันจึงจำเป็นต้องตั้งรหัสหน้า 1251 (Windows Cyrillic) เป็นค่าเริ่มต้นสำหรับ 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 นี้ไปยังรีจิสตรี (โดยดับเบิลคลิกที่ไฟล์และเลือก "ใช่") คุณต้องรีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล