কোনও টার্মিনাল ইউটিএফ -8 সমর্থন করে কিনা তা কীভাবে সন্ধান করবেন


21

আমি সেন্টো 5-তে পার্লের জন্য সিপিএএন মডিউল স্থাপন করছি, এবং একটি প্রশ্নের মধ্যে 'আপনার টার্মিনালটি কি ইউটিএফ -8 সমর্থন করে?' (Paraphrased)। আমি কীভাবে সন্ধান করব?

উত্তর:


15

সত্যই, পরীক্ষার নিশ্চিত উপায় হ'ল একটি টেক্সট ফাইল ডাউনলোড করা এবং এটি টার্মিনালে রেখে দেওয়া এবং সবকিছু ঠিক আছে কিনা তা দেখুন।

অথবা, যদি আপনি পারেন তবে ইউনিকোড বিকল্পটি সক্ষম করে টার্মিনালটি পুনরায় সংকলন করুন (ধরে নিবেন এটির একটি রয়েছে)।

$ TERM এবং $ LANG দেখতে কেমন?


ER TERM "xterm" $ LANG হ'ল "en_US.UTF-8" (আহা!) পাঠ্য ফাইলটি ফায়ারফক্সে নয়, টার্মিনালে দুর্দান্তভাবে প্রদর্শিত হয়।
হোয়াইট

হ্যাঁ, আমি আসলে একই জিনিসটির মুখোমুখি হয়েছি: - / ... যখন আমি এর পরামর্শের চেষ্টা করেছি তখন আমি প্রশ্ন চিহ্ন পেয়েছি
theman_on_osx

ANG ল্যাং কেবল আপনাকে জানায় যে স্টাডাউট / স্ট্ডার লেখার সময় আপনার সিস্টেমটি কী ব্যবহার করবে। এটি টার্মিনালের ক্ষমতা সম্পর্কে কিছু বলে না। যাইহোক, যদি আপনার সিস্টেমের অদ্ভুত অক্ষরগুলির মুদ্রণ করা সবকিছু ঠিক থাকে তবে আপনার টার্মিনালটি সম্ভবত ইউটিএফ -8 সমর্থন করে।
এপিসিলন

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

@ গিলস, আপনার উত্তরটি দুর্দান্তভাবে সহজ। এটা ভালবাসা!

20

আপনার টার্মিনালে এটি টাইপ করুন:

echo -e '\xe2\x82\xac' 

যদি আপনার টার্মিনাল ইউটিএফ -8 সমর্থন করে তবে এটি ইউরো সাইন আউটপুট দেবে:


সমস্ত ফন্টে ইউরোর চিহ্ন নেই, তাই আলাদা টেস্ট কোড পয়েন্টটি যুক্তিযুক্ত হতে পারে।
মাইকেল হ্যাম্পটন

5

লম্বা উপায়: নিম্নলিখিত চালনা করুন এবং আউটপুট পরীক্ষা করুন। টার্মিনালটি ইউটিএফ -8 প্রদর্শিত হলে এটি সারফ্লেক্স সহ একটি রাজধানী ও হবে।

perl -le 'print "\x{c3}\x{94}"'

আমি নিশ্চিত যে আমার টার্মিনালটি এখন ইউটিএফ -8 সমর্থন করে (theman_on_osx দ্বারা প্রস্তাবিত পরীক্ষায় উত্তীর্ণ হয়েছে) তবে এটি কেবল একটি ফাঁকা রেখা আউটপুট করে। কি হচ্ছে?
হোয়াইট

হতে পারে আপনি আপনার টার্মিনাল অ্যাপ্লিকেশনটিতে যে ফন্টটি ব্যবহার করছেন তা ইউটিএফ -8 অক্ষরকে সমর্থন করে না।
সেখানে

4
আমি জানি এটি অত্যন্ত দেরি হয়ে গেছে তবে ইউটিএফ -8 এর পতাকাটি আরও ভাল করে তোলেperl -CO -le 'print "\x{d4}"'
অ্যাশলে

3
অথবা -সিও বিকল্প ব্যতীত পার্লকে সঠিক ইউটিএফ -8 বাইট দিন: l পার্ল-লেল 'মুদ্রণ "\ x {c3} x {94}"' Ô
টিম

2

'লোকেলে' কমান্ডটি ব্যবহার করা সবচেয়ে নিশ্চিত আগুনের পথ। এটি সমস্ত বিভিন্ন এবং বিভিন্ন ধরণের ভেরিয়েবল মুদ্রণ করবে যা কোন অক্ষর ব্যবহার করতে হবে তা নির্ধারিত করে। উদাহরণস্বরূপ, এটি RHEL5.3 এ আমার আউটপুট, কেবলমাত্র ইউটিএফ -8 ডিফল্টরূপে ব্যবহারের জন্য সেট।

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

1
এটি টার্মিনালটি পরীক্ষা করে না, শুধুমাত্র লোকেল সেটিং (যা ব্যবহারে সর্বদা টার্মিনাল এমুলেটর দ্বারা সেট করা থাকে না, টার্মিনালের বর্তমান অবস্থা প্রতিফলিত করতে পারে না বা কিছু ব্যবহারকারীর কনফিগারেশন দ্বারা ওভাররাইড করা হতে পারে)।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

1

আপনি কেবল নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

locale charmap

1
এটি টার্মিনাল পরীক্ষা করে না। এটি কেবল লোকাল সেটিংস প্রদর্শন করে।
মাধ্যাকর্ষণ


-1
UTF=$(echo -e "\u263A")
if [[ ! "$UTF" =~ "A" ]]  ; then
 echo -n "UNICODE here!"
fi

2
এটি টার্মিনাল পরীক্ষা করে না। এটি কেবল echoবিল্টিন সমর্থন করে কিনা তা পরীক্ষা করে \u
মাধ্যাকর্ষণ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.