ฉันจะตั้งค่าเพจรหัสพร้อมรับคำสั่งใน Windows 7 ได้อย่างไร [ซ้ำ]


11

ฉันต้องการตั้งค่าอย่างไม่สม่ำเสมอใน DOS เพจรหัส

chcp 1252

ฉันจะเก็บผลลัพธ์ของคำสั่งนั้นได้อย่างไร


คำตอบ:


9

เปิดตัวแก้ไขรีจิสทรี ( 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"

ในระบบ win7 ของเยอรมันหน้ารหัสเริ่มต้นคือ 850
Christian

@ คริสเตียนใช่มันจะแตกต่างกันไปขึ้นอยู่กับภาษาของ Windows ที่ใช้ อย่างไรก็ตามไม่มีอะไรมากไปกว่าชื่อของ OP ฉันสงสัยว่าพวกเขามักจะใช้โค้ดเพจ 861 เป็นค่าเริ่มต้น
Synetech

3

เปิดแผงควบคุม เลือกนาฬิกาภาษาและภูมิภาค :

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นเปลี่ยนคีย์บอร์ดหรือวิธีป้อนข้อมูลอื่น ๆ :

ป้อนคำอธิบายรูปภาพที่นี่

สลับไปที่แท็บการจัดการ :

ป้อนคำอธิบายรูปภาพที่นี่

คลิกเปลี่ยนภาษาของระบบภายใต้ภาษาสำหรับโปรแกรมที่ไม่ใช่ Unicodeและเลือกภาษาที่ต้องการ

แต่ใช่มันเปลี่ยนแปลง:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

และบางทีสิ่งอื่น ๆ

การพูดถึงสิ่งนี้อาจเป็นสาเหตุOEMCPที่65001ทำให้ระบบไม่สามารถบูตได้ ไม่มีตัวเลือกดังกล่าวในแผงควบคุม

( ภาพนี้ถ่ายจากที่นี่เนื่องจากฉันไม่มี Windows ที่มีชุดภาษาอังกฤษอยู่ในมือเพื่อสร้างภาพหน้าจอ )


2

การเปลี่ยนค่าHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePageทำให้ระบบของฉันไม่สามารถบูตได้

การเพิ่มค่าสตริงใน HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processorจาก

"Autorun"="chcp 1252"

แก้ไขปัญหา


2

ฉันเป็นผู้ใช้ 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 นี้ไปยังรีจิสตรี (โดยดับเบิลคลิกที่ไฟล์และเลือก "ใช่") คุณต้องรีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.