উত্তর:
টার্মিনালটি কোন অক্ষরটি ব্যবহার করতে হবে তা নির্ধারণ করতে পরিবেশের ভেরিয়েবল ব্যবহার করে, সুতরাং আপনি এই পরিবর্তনগুলি দেখে এটি নির্ধারণ করতে পারেন:
echo $LC_CTYPE
অথবা
echo $LANG
locale
প্রোগ্রামটি আটকে থাকা উচিত (এখানে অন্যান্য উত্তরে যেমন দেখা যায়)
locale
। টার্মিনাল যাইহোক অ্যাপ্লিকেশনগুলি যা এটির সাথে যোগাযোগ করে সেটি locale
পরিবেশের ভেরিয়েবলগুলি সেট করে এর এনকোডিংটি জানতে দেয় । উদাহরণস্বরূপ, MacOS এ আপনার টার্মিনাল এনকোডিং নির্বাচন এবং ঐচ্ছিকরূপে সেট করতে পারেন locale
টার্মিনাল স্টার্টআপে এনভায়রনমেন্ট ভেরিয়েবল Terminal
> Preferences
> Profiles
> Advanced
।
locale
কোনও আর্গুমেন্ট সহ কমান্ডটি ভাষা বাদে প্রাসঙ্গিক পরিবেশের সমস্ত ভেরিয়েবলের মান মুদ্রণ করবে।
বর্তমান এনকোডিংয়ের জন্য:
locale charmap
উপলব্ধ লোকেলের জন্য:
locale -a
উপলব্ধ এনকোডিংগুলির জন্য:
locale -m
যদি পাইথন থাকে:
python -c "import sys; print(sys.stdout.encoding)"
আমার জ্ঞান, না।
থেকে অবস্থাগত সূত্রানুযায়ী $LC_CTYPE
, locale
এবং এই ধরনের শক্তি লোভনীয় মনে, কিন্তু এই সম্পূর্ণভাবে টার্মিনাল অ্যাপ্লিকেশন এনকোড করা (আসলে একটি এমুলেটর) থেকে পৃথক করা হয় যখন পর্দায় অক্ষর প্রদর্শন করার ব্যবহার করা হবে।
এগুলি নিশ্চিত করার জন্য এনকোডিং সনাক্ত করার কেবলমাত্র উপায় হ'ল এনকোডিংয়ে উপস্থিত কিছু আউটপুট করা, উদাহরণস্বরূপ ä
, একটি স্ক্রিনশট নেওয়া, সেই চিত্রটি বিশ্লেষণ করুন এবং আউটপুট অক্ষরটি সঠিক কিনা তা যাচাই করুন।
সুতরাং না, দুঃখের বিষয়, এটি সম্ভব নয়।
বর্তমান লোকাল তথ্য দেখতে locale
কমান্ডটি ব্যবহার করুন । নীচে RHEL 7.8 এর একটি উদাহরণ দেওয়া আছে on
[usr@host ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=