আমি কীভাবে বর্তমান ওএসের কোডপেজ এবং লোকেলটি ম্যানুয়ালি নির্ধারণ করতে পারি


13

এমন কোনও উপায় আছে যা আমি নিজেই কোনও ব্যবহারকারীকে তাদের উইন্ডোজ ওএসের বর্তমান কোডপেজ এবং লোকেলটি সন্ধান করতে চাইছি? এমন কোনও রেজিস্ট্রি সেটিং রয়েছে যা সেই তথ্য সঞ্চয় করে?

প্রযুক্তিটি যদি উইন্ডোজ 2000 এ ফিরে সমস্তভাবে কাজ করে তবে এটি কার্যকরও হবে।

উত্তর:


16

chcp আপনাকে সক্রিয় কোড পৃষ্ঠাটি দেবে।

systemminfo অন্যান্য জিনিসগুলির সাথে সিস্টেম লোকেল এবং ইনপুট লোকেল প্রদর্শন করবে।

" দ্রষ্টব্য : উইন্ডোজ 2000 এ এই কমান্ডটি (সিস্টেমেণ্টফো) উপলভ্য নয় তবে আপনি উইন্ডোজ এক্সপি বা উইন্ডোজ 2003 কম্পিউটারে এই কমান্ডটি চালিয়ে উইন্ডোজ 2000 কম্পিউটারকে জিজ্ঞাসা করতে পারবেন এবং উইন্ডোজ 2000 কম্পিউটারে রিমোট কম্পিউটার সেট করতে পারেন। যদি বর্তমান ব্যবহারকারী লগন এটি কার্যকর করে কমান্ডের ইতিমধ্যে দূরবর্তী মেশিনে সুবিধা রয়েছে (উদাহরণস্বরূপ, ডোমেন প্রশাসক), আপনাকে / u এবং / পি ব্যবহার করতে হবে না। "
থেকে এখানে


1
সচেতন থাকুন যা chcpআপনাকে সক্রিয় OEM কোড পৃষ্ঠাতে পাবেন। যেমন এমকিলেমেন্ট তার উত্তরে উল্লেখ করেছে, উইন্ডোজ, এএনএসআই কোড পৃষ্ঠা দ্বারা সর্বদা আর একটি সক্রিয় কোড পৃষ্ঠা রয়েছে। আরও তথ্যের জন্য এমকিলেটের উত্তর দেখুন
কাঙালিও

6

নোট করুন যে কোনও প্রদত্ত সিস্টেমে দুটি সক্রিয় কোড পৃষ্ঠা রয়েছে , নন-ইউনিকোড প্রোগ্রামগুলির জন্য ভাষা নামকরণ করা ভাষা অনুসারে নির্ধারিত হয়েছে , আগে সিস্টেম লোকেল হিসাবে পরিচিত (পটভূমির তথ্যের নীচের অংশটি দেখুন):

  • ই এম উত্তরাধিকার দ্বারা ব্যবহারের জন্য কোড পৃষ্ঠা কনসোল অ্যাপ্লিকেশন,
  • ANSI উত্তরাধিকার দ্বারা ব্যবহারের জন্য কোড পৃষ্ঠা গুই অ্যাপ্লিকেশন।

দ্রষ্টব্য: আরও দুটি কোড পৃষ্ঠা রয়েছে, তবে সেগুলি খুব কমই আর ব্যবহার করা হয়, এবং তাই এখানে আলোচনা হয় না: ইবিসিডিআইসি কোড এবং (প্রাক-ওএস এক্স) ম্যাক কোড পৃষ্ঠা - উইনাপি ডক্স দেখুন

সক্রিয় ই এম কোড পৃষ্ঠা সবচেয়ে সহজে মাধ্যমে প্রাপ্ত হয় chcp, যেমন দেখানো ভুলে গেছেন সেমিকোলন এর সহায়ক উত্তর - অভিমানী এটা স্পষ্টভাবে সঙ্গে সেশনে পরিবর্তিত হয় নি chcp <codePageNum>

সক্রিয় এএনএসআই কোড পৃষ্ঠা নির্ধারণ করা এতটা সহজ নয়, তবে সিস্টেমের লোকেলের নাম এবং ভাষা নির্ধারণের ক্ষেত্রেও পাওয়ারশেল সহায়তা করতে পারে :

ইন উইন্ডোজ 8+ / উইন্ডোজ সার্ভার 2012+ ব্যবহার করুন: Get-WinSystemLocalecmdlet:

Get-WinSystemLocale | Select-Object Name, DisplayName, 
                        @{ n='OEMCP'; e={ $_.TextInfo.OemCodePage } }, 
                        @{ n='ACP';   e={ $_.TextInfo.AnsiCodePage } }

দ্রষ্টব্য: [cultureinfo]::CurrentCulture.TextInfo.ANSICodePageউদাহরণস্বরূপ এটি ব্যবহারে লোভনীয় হতে পারে , তবে এটি প্রয়োজনীয়ভাবে সিস্টেম-ব্যাপী সক্রিয় এএনএসআই কোড পৃষ্ঠাটি প্রতিফলিত করে না ; পরিবর্তে, এটি বর্তমান ব্যবহারকারীর লোকাল (সংস্কৃতি) এর সাথে যুক্ত এএনএসআই কোড পৃষ্ঠা , যা আলাদা হতে পারে।

ইউএস-ইংলিশ সিস্টেমে উপরের ফলনগুলি:

Name  DisplayName             OEMCP  ACP
----  -----------             -----  ---
en-US English (United States)   437 1252

OEMCPএটি ই এম কোড পৃষ্ঠা, ACPএএনএসআই কোড পৃষ্ঠা।

একটি রেজিস্ট্রি ভিত্তিক পদ্ধতি যা উইন্ডোজ এক্সপিতে পুরানো সিস্টেমেও কাজ করে :

# Get the code pages:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage | 
     Select-Object OEMCP, ACP

ইউএস-ইংলিশ সিস্টেমে উপরের ফলনগুলি:

OEMCP ACP 
----- --- 
437   1252

আপনি যদি সিস্টেমের লোকেলের [বন্ধুত্বপূর্ণ] নাম এবং এলসিআইডি পেতে চান (তবে লক্ষ করুন যে এলসিআইডিগুলি অবমূল্যায়িত হয়েছে):

[Globalization.CultureInfo]::GetCultureInfo([int] ('0x' + (
        Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Nls\Language' Default
      ).Default)
)

ইউএস-ইংলিশ সিস্টেমে উপরের ফলনগুলি:

LCID             Name             DisplayName                                                                                                                                      
----             ----             -----------                                                                                                                                      
1033             en-US            English (United States)                                                                                                                          

পটভূমি তথ্য :

সিস্টেম লোকেল হ'ল ইউনিকোড প্রোগ্রামগুলির ( এনএলএস পরিভাষা দেখুন ), এবং নামগুলি যেমনবোঝায়: এখন যা বর্ণনার জন্য আরও বর্ণনামূলকভাবে বলাহয় তার উত্তরাধিকার নাম :

  • সেটিং শুধুমাত্র প্রযোজ্য উত্তরাধিকার প্রোগ্রাম (যেসব প্রোগ্রাম ইউনিকোড সমর্থন করে না)।

  • এটি প্রদত্ত ব্যবহারকারীর লোকাল সেটিংস নির্বিশেষে সিস্টেম-ব্যাপী প্রয়োগ করে এবং এটিকে পরিবর্তন করার জন্য প্রশাসনিক সুবিধাগুলি প্রয়োজন।

এটি লক্ষণীয় গুরুত্বপূর্ণ যে এটি একটি লিগ্যাসি সেটিংস , কারণ কোড পৃষ্ঠাগুলি সেই প্রোগ্রামগুলিতে আর প্রয়োগ হয় না যা অভ্যন্তরীণভাবে ইউনিকোড ব্যবহার করে এবং উইন্ডোজ এপিআই-এর ইউনিকোড সংস্করণগুলিতে কল করে।

উল্লেখযোগ্যভাবে, এটি সক্রিয় কোড পৃষ্ঠাগুলি নির্ধারণ করে , অর্থাত্, ডিফল্টরূপে ব্যবহৃত অক্ষর এনকোডিং :

  • ANSI কোড পৃষ্ঠা ব্যবহার করতে যখন অ-ইউনিকোড প্রোগ্রামসমূহের কল অ ইউনিকোড (ANSI) উইন্ডোজ API- এর সংস্করণ উল্লেখযোগ্য হল ANSI সংস্করণ TextOutপ্রয়োজন এবং ইউনিকোড, যা উল্লেখযোগ্য হল থেকে স্ট্রিং অনুবাদ জন্য ফাংশন নির্ধারণ করে কিভাবে প্রোগ্রামের স্ট্রিং মধ্যে রেন্ডার গুই

  • ই এম কোড পৃষ্ঠা ডিফল্টরূপে সক্ষম করবেন সেই বিষয়ে মধ্যে কনসোল উইন্ডো হিসাবে দ্বারা প্রতিফলিত chcp

    • কনসোল উইন্ডোর সক্রিয় কোড পৃষ্ঠাটি নির্ধারণ করে যে কীভাবে কনসোল অ্যাপ্লিকেশনগুলি থেকে কীবোর্ড ইনপুট এবং আউটপুটকে ব্যাখ্যা এবং প্রদর্শিত হয়
      • মনে রাখবেন যে এর অর্থ ইউনিকোড কনসোল অ্যাপ্লিকেশন থেকে আউটপুটও সক্রিয় কোড পৃষ্ঠাতে অনুবাদ করা হয়েছে, যার ফলে তথ্য হারাতে পারে; সিউডো কোড পৃষ্ঠা ব্যবহার করা 65001, যা ইউনিকোডের ইউটিএফ -8 এনকোডিংকে উপস্থাপন করে, এটি একটি সমাধান, তবে এটি লিগ্যাসি কমান্ড-লাইন প্রোগ্রামগুলিকে ডেটার ভুল ব্যাখ্যা এবং এমনকি ব্যর্থ হতে পারে - বিশদর জন্য এই স্ট্যাকওভারফ্লো উত্তরটি দেখুন।
    • এএনএসআই কোড পৃষ্ঠাটির বিপরীতে, আপনি প্রদত্ত কনসোল উইন্ডোটির দাবিতে সক্রিয় [OEM] কোড পৃষ্ঠাটি পরিবর্তন করতে পারেন ; উদাহরণস্বরূপ, OEM কোড পৃষ্ঠাতে স্যুইচ করতে 850, চালিত chcp 850হওয়া cmd.exeএবং $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [text.encoding]::GetEncoding(850)পাওয়ারশেলের মধ্যে।
  • অতিরিক্তভাবে, খুব কমই ব্যবহৃত হয় EBCDIC এবং ম্যাক কোড পৃষ্ঠাগুলি।

শব্দ সত্ত্বেও লোকেল উত্তরাধিকার শব্দটি এবং শব্দ ব্যবহৃত ভাষা বর্তমান মেয়াদে:

  • শুধুমাত্র সেটিংস এর দ্বারা নিয়ন্ত্রিত দিক আছে সক্রিয় কোড পৃষ্ঠাগুলির সেট এবং ডিফল্ট বিটম্যাপ ফন্ট , এছাড়াও একটি লোকেল অন্যান্য উপাদান (যা ব্যবহারকারী লেভেলের লোকেল সেটিংস এর দ্বারা নিয়ন্ত্রণ করা হয়)।

  • একটি প্রদত্ত কোড পৃষ্ঠাটি সাধারণত অনেক লোকেল দ্বারা ভাগ করা হয় এবং একাধিক ভাষাগুলি কভার করে; উদাহরণস্বরূপ, বহুল ব্যবহৃত 1252কোড পৃষ্ঠা ইংরেজি সহ পশ্চিমের অনেক ইউরোপীয় ভাষা ব্যবহার করে।

তবে আপনি যখন কন্ট্রোল প্যানেলের মাধ্যমে সেটিংস পরিবর্তন করেন, আপনি নির্দিষ্ট লোকেলের মাধ্যমে সেটিংটি বেছে নেবেন।

সমস্ত উইন্ডোজ কোড পৃষ্ঠাগুলির তালিকার জন্য, https://docs.microsoft.com/en-us/windows/desktop/Intl/code-page-phanfiers দেখুন


GetACP()ফাংশন - টেকনিকট.মাইক্রোসফট.ইন- ইউএস / ডিডি ৩১০০০০০ - এটি আকর্ষণীয় লিঙ্ক, মন্তব্যটির অংশটি সরাসরি এই ফাংশনটির রিটার্ন মানটি ব্যবহারকারীর নির্বাচিত ডিফল্ট ইনপুট ভাষা এবং জিইউআই ভাষার প্রতিনিধিত্ব করে না তবে সম্পূর্ণ ভিন্ন কিছু উপস্থাপন করে ...
আরিচ 'দ্য

প্রকৃতপক্ষে, @ অ্যারিওচ '- এটি আমি ব্যাকগ্রাউন্ড-তথ্য বিভাগে পরিষ্কার করার চেষ্টা করেছি: সিস্টেম লোকেল (ক) কোড পৃষ্ঠাগুলি নির্ধারণ করে (তবে অন্য কোনও স্থানীয় সেটিংস নেই) সিস্টেম-ব্যাপী , (খ) প্রদত্ত ব্যবহারকারীর নির্বিশেষে লোকেল। লিঙ্কযুক্ত পৃষ্ঠাটি কীভাবে বলছে (জোর দেওয়া হয়েছে) নোট করুন: " অপারেটিং সিস্টেমের জন্য বর্তমান উইন্ডোজ এএনএসআই কোড পৃষ্ঠা (এসিপি) সনাক্তকারীকে ফিরিয়ে দেয় "। সম্ভাব্য অ্যাপলোকেলের তৃতীয় পক্ষের প্রতিস্থাপনের জন্য: আমি উত্তরের একটি লিঙ্ক যুক্ত করেছি।
এমকিলেমেন্ট

1
GetACP মন্তব্য / লিঙ্কটি আমি নিশ্চিতকরণ একটি "ঈশ্বরের বাক্য" যে MBCS-টু-ইউনিকোড ডিফল্ট রূপান্তর হিসাবে গুরুত্বপূর্ণ মনে করি যে অভিপ্রেত ব্যবহারকারী-স্বাধীন এবং OS-বিশ্বব্যাপী, উইন্ডোজ সংস্করণ কিছু না শুধু বাস্তবায়ন বিস্তারিত যাবে।
এরিওচ 'দ্য

1
সম্ভবত আজ প্রাক-ইউনিক্স ম্যাক এবং ইবিসিডিক উভয়ই "কেবল কিছু historicতিহাসিক গুরুত্বের" কুলুঙ্গিতে সমানভাবে অন্তর্ভুক্ত। আমি তবে সেই ম্যাক সিপির সাথে কিছুটা সংযুক্ত রয়েছি, কারণ তারা প্লেইন টেক্সট ফাইলগুলিতে নতুন লাইন চিহ্নিত করার আরও একটি বৈকল্পিক তৈরি করতে সক্ষম হয়েছিল, ইউএনআইএক্স এবং ডস-উইন-ওএস / ২ গাছ উভয়ের চেয়ে আলাদা। এটি আমি মুখস্থ করেছিলাম বিদেশী কর্নার কেস।
আরিচ 'দ্য

1
ধন্যবাদ। আরও প্রসঙ্গগত লিঙ্ক - ডকস.মাইক্রোসফট.ইন- ইউএস / উইন্ডস / ডেস্কটপ / ইনটেল/… - এবং ইবিসিডিআইসিকে "উইন্ডোজ 2000" হিসাবে চিহ্নিত করা হয়েছে - সুতরাং ডাব্লু 2 কে এর আগে সম্ভবত এটি উপস্থিত ছিল না এবং তার পর থেকে সমস্ত বছর কেউ বিরক্ত করেনি আমি যে শিরোনাম রূপান্তর উত্সটি ব্যবহার করেছি তা আপডেট করতে :
এরিওচ 'দ্য


0

সক্রিয় কোড পৃষ্ঠাটি দেয় এমন উইন্ডোজ এপিআই হ'ল গেটকনসোল আউটপুটসিপি ()


সক্রিয় OEM কোডপেজ (এএনএসআই কোডপেজ নয়) এবং কেবল যদি এটি ব্যবহার করে ওভাররাইড করা হয় (কনসোল chcpকমান্ড)
এরিচ 'দ্য
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.