जवाबों:
chcp आपको सक्रिय कोड पेज मिलेगा।
systeminfo अन्य चीजों के साथ सिस्टम लोकेल और इनपुट लोकेल प्रदर्शित करेगा।
" नोट : यह कमांड (सिस्टमइंफो) विंडोज 2000 में उपलब्ध नहीं है, लेकिन आप अभी भी विंडोज 2000 को कंप्यूटर पर इस कमांड को विंडोज एक्सपी या विंडोज 2003 कंप्यूटर पर चलाकर विंडोज 2000 कंप्यूटर पर रिमोट कंप्यूटर सेट कर सकते हैं। यदि वर्तमान उपयोगकर्ता लॉगऑन निष्पादित करता है। कमांड में पहले से ही रिमोट मशीन (उदाहरण के लिए, डोमेन एडमिनिस्ट्रेटर) पर विशेषाधिकार है, आपको / u और / p का उपयोग करने की आवश्यकता नहीं है। "
से यहाँ ।
ध्यान दें कि किसी दिए गए सिस्टम में ब्याज के दो सक्रिय पृष्ठ हैं , जैसा कि गैर-यूनिकोड कार्यक्रमों के लिए भाषा नामित विरासत द्वारा निर्धारित किया गया है , जिसे पहले सिस्टम लोकेल के रूप में जाना जाता है (पृष्ठभूमि जानकारी के लिए नीचे अनुभाग देखें):
नोट: दो और कोड पृष्ठ हैं, लेकिन वे अब शायद ही कभी उपयोग किए जाते हैं, और इसलिए यहां चर्चा नहीं की गई है: EBCDIC कोड और (प्री-ओएस एक्स) मैक कोड पेज - WinAPI डॉक्स देखें ।
सक्रिय OEM कोड पेज सबसे आसानी से के माध्यम से प्राप्त किया जाता है chcp
, के रूप में में दिखाया भूल अर्द्धविराम के मददगार जवाब - यह सोचते हैं यह स्पष्ट रूप से सत्र में नहीं बदला गया था chcp <codePageNum>
।
सक्रिय ANSI कोड पृष्ठ का निर्धारण करना उतना आसान नहीं है, लेकिन PowerShell सिस्टम लोकेल के नाम और भाषा का निर्धारण करने में भी मदद कर सकता है :
में विंडोज 8 / Windows Server 2012+ उपयोग: Get-WinSystemLocale
cmdlet:
Get-WinSystemLocale | Select-Object Name, DisplayName,
@{ n='OEMCP'; e={ $_.TextInfo.OemCodePage } },
@{ n='ACP'; e={ $_.TextInfo.AnsiCodePage } }
नोट: यह [cultureinfo]::CurrentCulture.TextInfo.ANSICodePage
उदाहरण के लिए उपयोग करने के लिए आकर्षक हो सकता है , लेकिन यह जरूरी नहीं कि सिस्टम-वाइड सक्रिय ANSI कोड पृष्ठ को प्रतिबिंबित करे ; इसके बजाय, यह वर्तमान उपयोगकर्ता के लोकेल (संस्कृति) से जुड़ा एएनएसआई कोड पेज है , जो अलग हो सकता है।
यूएस-इंग्लिश सिस्टम पर, उपरोक्त पैदावार:
Name DisplayName OEMCP ACP
---- ----------- ----- ---
en-US English (United States) 437 1252
OEMCP
OEM कोड पृष्ठ, ACP
ANSI कोड पृष्ठ है।
एक रजिस्ट्री आधारित पद्धति वह भी पुराने सिस्टम पर काम करता है Windows XP के लिए नीचे :
# Get the code pages:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage |
Select-Object OEMCP, ACP
यूएस-इंग्लिश सिस्टम पर, उपरोक्त पैदावार:
OEMCP ACP
----- ---
437 1252
यदि आप भी सिस्टम लोकेल के [अनुकूल] नाम और LCID प्राप्त करना चाहते हैं (हालांकि ध्यान दें कि LCID को हटा दिया गया है):
[Globalization.CultureInfo]::GetCultureInfo([int] ('0x' + (
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language' Default
).Default)
)
यूएस-इंग्लिश सिस्टम पर, उपरोक्त पैदावार:
LCID Name DisplayName
---- ---- -----------
1033 en-US English (United States)
पृष्ठभूमि की जानकारी :
सिस्टम स्थान है विरासत नाम क्या अब और अधिक वर्णनात्मक ढंग से कहा जाता है के लिए ग़ैर-यूनिकोड प्रोग्राम के लिए भाषा का (देखें NLS शब्दावली ), और, के रूप में नामों का सुझाव:
सेटिंग केवल पर लागू होता है लीगेसी प्रोग्राम (प्रोग्राम हैं जो यूनिकोड का समर्थन नहीं करते)।
यह किसी भी उपयोगकर्ता की स्थानीय सेटिंग्स के बावजूद सिस्टम-वाइड , लागू होता है और इसे बदलने के लिए प्रशासनिक विशेषाधिकारों की आवश्यकता होती है।
यह नोट करना महत्वपूर्ण है कि यह एक विरासत सेटिंग है , क्योंकि कोड पृष्ठ अब उन कार्यक्रमों पर लागू नहीं होते हैं जो यूनिकोड का आंतरिक रूप से उपयोग करते हैं और विंडोज एपीआई के यूनिकोड संस्करणों को कॉल करते हैं।
विशेष रूप से, यह सक्रिय कोड पृष्ठों को निर्धारित करता है , अर्थात, डिफ़ॉल्ट रूप से उपयोग किए जाने वाले वर्ण एन्कोडिंग :
जब गैर-यूनिकोड प्रोग्राम विंडोज एपीआई के गैर-यूनिकोड (एएनएसआई) संस्करणों को कॉल करने के लिए उपयोग करने के लिए एएनएसआई कोड पेज , विशेष रूप TextOut
से यूनिकोड से स्ट्रिंग का अनुवाद करने के लिए फ़ंक्शन का एएनएसआई संस्करण , जो उल्लेखनीय रूप से निर्धारित करता है कि प्रोग्राम के तार कैसे प्रस्तुत करते हैं। जीयूआई ।
OEM कोड पेज डिफ़ॉल्ट रूप से सक्रिय बनाने के लिए में सांत्वना खिड़कियों के रूप में से परिलक्षित, chcp
।
65001
, जो यूनिकोड के यूटीएफ -8 एन्कोडिंग का प्रतिनिधित्व करता है, एक समाधान है, लेकिन इससे डेटा को गलत तरीके से समझने और यहां तक कि असफल होने के लिए विरासत कमांड-लाइन प्रोग्राम हो सकते हैं - विवरण के लिए इस स्टैकऑवरफ़्लो उत्तर को देखें।850
, चलाने chcp 850
में cmd.exe
, और $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [text.encoding]::GetEncoding(850)
PowerShell में।शब्द के बावजूद वातावरण विरासत अवधि और शब्द में इस्तेमाल भाषा वर्तमान समय में:
केवल सेटिंग इसके द्वारा नियंत्रित पहलू हैं सक्रिय कोड पृष्ठों के सेट और डिफ़ॉल्ट बिटमैप फोंट , यह भी नहीं के लिए कोई स्थान के अन्य तत्वों (जो उपयोगकर्ता के स्तर लोकेल सेटिंग इसके द्वारा नियंत्रित कर रहे हैं)।
एक दिया गया कोड पृष्ठ आमतौर पर कई स्थानों द्वारा साझा किया जाता है और कई भाषाओं को कवर करता है; उदाहरण के लिए, व्यापक रूप से उपयोग किए जाने वाले 1252
कोड पृष्ठ का उपयोग अंग्रेजी सहित कई पश्चिमी यूरोपीय भाषाओं द्वारा किया जाता है।
हालांकि, जब आप नियंत्रण कक्ष के माध्यम सेटिंग को परिवर्तित करते हैं, आप सेटिंग चुनते हैं के माध्यम से एक विशिष्ट स्थान।
सभी विंडोज कोड पृष्ठों की सूची के लिए, https://docs.microsoft.com/en-us/windows/desktop/Intl/code-page-identifiers देखें
GetACP()
फ़ंक्शन - technet.microsoft.com/en-us/dd318070 - यह दिलचस्प लिंक है, टिप्पणी अनुभाग एकमुश्त बताता है कि यह फ़ंक्शन रिटर्न वैल्यू उपयोगकर्ता की चयनित डिफ़ॉल्ट इनपुट भाषा और GUI भाषा का प्रतिनिधित्व नहीं करता है, लेकिन कुछ पूरी तरह से अलग ...
सक्रिय कोड पृष्ठ पर वापस जाने वाला Windows API GetConsoleOutputCP () है ।
chcp
आदेश)
chcp
आपको सक्रिय OEM कोड पृष्ठ मिलेगा । जैसा कि mklement बताता है कि विंडोज में ANSI कोड पेज, हमेशा एक और सक्रिय कोड पेज होता है। अधिक जानकारी के लिए mklement का उत्तर देखें ।