উবুন্টুতে বিকৃত টেক্সট ঠিক করার সম্পূর্ণ গাইড | কারণ, সমাধান এবং কনফিগারেশন পরিবর্তন

目次

১. পরিচিতি

উবুন্টু ব্যবহার করার সময়, নির্দিষ্ট পরিস্থিতিতে আপনি অস্পষ্ট টেক্সটের সমস্যা দেখতে পারেন। এটি টার্মিনাল আউটপুটে, জাপানি ফাইলের নাম প্রদর্শন করার সময়, বা জাপানি ওয়েব পেজ ব্রাউজ করার সময় ঘটতে পারে, যা আপনার পরিবেশের উপর নির্ভর করে। অনেক ক্ষেত্রে, ডিফল্ট সেটিংসে জাপানি সঠিকভাবে প্রদর্শিত নাও হতে পারে, যার জন্য সঠিক কনফিগারেশন প্রয়োজন। এই নিবন্ধে, আমরা উবুন্টুতে অস্পষ্ট টেক্সটের কারণগুলি ব্যাখ্যা করব এবং এটি ঠিক করার জন্য কংক্রিট সমাধান প্রদান করব। এই গাইডটি নিম্নলিখিতদের জন্য উদ্দিষ্ট:

  • উবুন্টু শিক্ষানবিস যারা এখনও জাপানি প্রদর্শন সেটিংস সেটআপ করেননি
  • অস্পষ্ট টেক্সটের মূল কারণগুলি বোঝার এবং মৌলিক সমাধান খুঁজে পাওয়ার ইচ্ছুক ব্যবহারকারী
  • টার্মিনাল বা GUI পরিবেশে অস্পষ্ট টেক্সটের সমস্যা অনুভবকারী এবং এটি কীভাবে ঠিক করবেন জানতে চান এমন ব্যবহারকারী

আসুন উবুন্টুতে অস্পষ্ট টেক্সটের প্রধান কারণগুলি পরীক্ষা করা শুরু করি।

২. অস্পষ্ট টেক্সটের প্রধান কারণসমূহ

ভুল লোকেল সেটিংস

উবুন্টুতে লোকেলগুলি সিস্টেমের ভাষা এবং তারিখের ফরম্যাটিং সেটিংস নির্ধারণ করে। যদি এগুলি সঠিকভাবে কনফিগার না করা হয়, তাহলে জাপানি টেক্সট সঠিকভাবে প্রদর্শিত নাও হতে পারে, যা অস্পষ্ট অক্ষরের দিকে নিয়ে যায়। উদাহরণস্বরূপ, যদি আপনি locale কমান্ড চালান এবং আউটপুটে “C” বা “POSIX” দেখেন, তাহলে আপনার লোকেল সেটিংস ভুল হতে পারে:

$ locale
LANG=C
LC_ALL=

আদর্শভাবে, জাপানি পরিবেশের জন্য এটি LANG=ja_JP.UTF-8 এ সেট করা উচিত।

অনুপস্থিত বা অপর্যাপ্ত ফন্টস

ডিফল্টভাবে, উবুন্টুতে জাপানি ফন্টস ইনস্টল নাও থাকতে পারে। ফলে, জাপানি টেক্সট সঠিকভাবে রেন্ডার নাও হতে পারে এবং পরিবর্তে বর্গাকার বক্স (□) বা এলোমেলো প্রতীক হিসেবে প্রদর্শিত হয়। ফন্ট সমস্যাগুলি নিম্নলিখিত ক্ষেত্রে চিহ্নিত করা যায়:

  • GUI অ্যাপ্লিকেশনের মেনু এবং বোতামে অস্পষ্ট টেক্সট দেখা যায়
  • টেক্সট এডিটরে জাপানি টেক্সট অস্পষ্ট দেখায়

অক্ষর এনকোডিংয়ের অমিল

যদিও উবুন্টু প্রধানত UTF-8 কে তার স্ট্যান্ডার্ড এনকোডিং হিসেবে ব্যবহার করে, বাইরের উৎস থেকে Shift_JIS বা EUC-JP এ এনকোড করা ফাইল খোলার সময় অস্পষ্ট টেক্সট দেখা যেতে পারে। উদাহরণস্বরূপ, উইন্ডোজ পরিবেশে তৈরি একটি ফাইল উবুন্টুতে খোলার সময় নিম্নলিখিত ঘটতে পারে:

  • টেক্সট এডিটরে খোলার সময় অপাঠ্য অক্ষর
  • টার্মিনালে cat কমান্ড ব্যবহার করার সময় বিকৃত টেক্সট

ভুল কনফিগার করা টার্মিনাল বা এডিটর সেটিংস

এমনকি যদি একটি ফাইল UTF-8 এ এনকোড করা হয়, তাহলে অসংগত টার্মিনাল বা এডিটর সেটিংস টেক্সটের সঠিক রেন্ডারিং প্রতিরোধ করতে পারে।

  • টার্মিনাল এনকোডিং UTF-8 ছাড়া কিছুতে সেট করা
  • Vim বা VSCode-এর মতো টেক্সট এডিটর সঠিক এনকোডিং অটো-ডিটেক্ট করতে ব্যর্থ হয়
  • less বা cat দিয়ে প্রদর্শিত জাপানি অক্ষর “?” বা “◇” হিসেবে দেখায়

৩. লোকেল সেটিংস চেক করা এবং ঠিক করা

আপনার লোকেল সেটিংস কীভাবে চেক করবেন

আপনার বর্তমান লোকেল সেটিংস চেক করার জন্য, নিম্নলিখিত কমান্ড চালান:

locale

উদাহরণ আউটপুট:

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

যদি LANG=C প্রদর্শিত হয়, তাহলে আপনার সিস্টেম জাপানির জন্য সঠিকভাবে সেটআপ করা নেই। সঠিকভাবে কনফিগার করা জাপানি পরিবেশ এরকম দেখাবে:

LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8

জাপানি লোকেল ইনস্টল এবং কনফিগার করা

১. জাপানি লোকেল চেক এবং যোগ করা

জাপানি লোকেল ইনস্টল কিনা চেক করার জন্য, চালান:

locale -a | grep ja_JP

উদাহরণ আউটপুট:

ja_JP.eucJP
ja_JP.utf8

যদি ja_JP.utf8 অনুপস্থিত হয়, তাহলে নিম্নলিখিত দিয়ে জাপানি লোকেল ইনস্টল করুন:

sudo apt update
sudo apt install -y language-pack-ja

তারপর, লোকেল জেনারেট করুন এবং সিস্টেম সেটিংস আপডেট করুন:

sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8

২. সিস্টেম-ওয়াইড লোকেল সেট করা

পরিবর্তনগুলি সিস্টেম-ওয়াইড প্রয়োগ করার জন্য, চালান:

export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

এই পরিবর্তনগুলি স্থায়ী করার জন্য, এগুলি ~/.bashrc বা ~/.profile-এ যোগ করুন:

echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc

সিস্টেম-ওয়াইড পরিবর্তনের জন্য, এডিট করুন:

sudo nano /etc/default/locale

এবং নিম্নলিখিত যোগ করুন বা পরিবর্তন করুন:

LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8

সেটিংস প্রয়োগ করার জন্য, লগ আউট করে লগ ইন করুন অথবা সিস্টেম রিস্টার্ট করুন।

৪. ফন্ট ইনস্টল এবং কনফিগার করা

কেন জাপানি ফন্ট প্রয়োজন

ডিফল্টভাবে, উবুন্টুতে জাপানি ফন্ট ইনস্টল নাও থাকতে পারে। এর ফলে জাপানি টেক্সট সঠিকভাবে প্রদর্শিত না হয়ে বর্গাকার বক্স (□) বা অপঠ্য প্রতীক হিসেবে দেখা যায়। ফন্ট-সম্পর্কিত সমস্যাগুলি নিম্নলিখিত ক্ষেত্রে লক্ষ্য করা যায়:

  • GUI অ্যাপ্লিকেশনের মেনু এবং বোতামগুলি অস্পষ্টভাবে দেখা যায়
  • টেক্সট এডিটরে জাপানি টেক্সট ভুলভাবে প্রদর্শিত হয়

প্রস্তাবিত জাপানি ফন্ট

উবুন্টুর জন্য কিছু প্রস্তাবিত জাপানি ফন্ট এখানে দেওয়া হলো:

Font Name

বৈশিষ্ট্য

Noto Sans CJK JP

গুগল দ্বারা সরবরাহিত একটি উচ্চ-মানের জাপানি ফন্ট (ডিফল্ট হিসাবে সুপারিশকৃত)

Takao Fonts

আগে উবুন্টুর ডিফল্ট ফন্ট ছিল (পাতলা ও বোল্ড সংস্করণে উপলব্ধ)

IPA Fonts

উচ্চমানের ফন্ট সরবরাহ করে তথ্য-প্রযুক্তি প্রচার সংস্থা (IPA)

VL Gothic

অত্যন্ত পাঠযোগ্য এবং টার্মিনাল ব্যবহারের জন্য অপ্টিমাইজড

ফন্ট ইনস্টল করার উপায়

১. Noto Sans CJK JP ইনস্টল করুন (প্রস্তাবিত ডিফল্ট ফন্ট)

sudo apt update
sudo apt install -y fonts-noto-cjk

২. Takao Fonts ইনস্টল করুন

sudo apt install -y fonts-takao

৩. IPA Fonts ইনস্টল করুন (Information-technology Promotion Agency)

sudo apt install -y fonts-ipafont

৪. VL Gothic ইনস্টল করুন (টার্মিনালের জন্য অপ্টিমাইজড)

sudo apt install -y fonts-vlgothic

ফন্ট ইনস্টল করার পর, সিস্টেম রিস্টার্ট করুন অথবা ফন্ট ক্যাশ রিফ্রেশ করুন:

fc-cache -fv

ফন্ট কনফিগার করার উপায়

GUI অ্যাপ্লিকেশনে ফন্ট সেট করা

  1. “Settings” অ্যাপ্লিকেশন খুলুন
  2. “Fonts” বিভাগে যান
  3. “Standard Font,” “Document Font,” এবং “Monospace Font” কে আপনার পছন্দের ফন্টে পরিবর্তন করুন
  4. সেটিংস প্রয়োগ করার জন্য লগ আউট করে লগ ইন করুন

টার্মিনালে ফন্ট সেট করা

  1. টার্মিনাল খুলুন
  2. “Preferences” → “Profile Preferences”-এ যান
  3. “Use custom font”-এর বক্স চেক করুন
  4. একটি পছন্দের ফন্ট নির্বাচন করুন (যেমন, Noto Sans Mono CJK JP)
  5. সেটিংস সেভ করুন এবং টার্মিনাল রিস্টার্ট করুন

ফন্ট সেটিংস প্রয়োগ এবং যাচাই করা

ফন্ট সেটিংস সঠিকভাবে প্রয়োগ হয়েছে কিনা তা যাচাই করার জন্য, নিম্নলিখিত চেষ্টা করুন:

  1. fc-list কমান্ড ব্যবহার করে ইনস্টল করা ফন্ট চেক করুন
fc-list | grep "Noto"
  1. টার্মিনালে জাপানি টেক্সট প্রদর্শন পরীক্ষা করুন
echo "こんにちは、Ubuntuの文字化け対策"
  1. GUI অ্যাপ্লিকেশনে জাপানি টেক্সট সঠিকভাবে প্রদর্শিত হয় কিনা চেক করুন (Firefox, LibreOffice ইত্যাদি)

৫. ক্যারেক্টার এনকোডিং চেক এবং কনভার্ট করা

ক্যারেক্টার এনকোডিং কী?

ক্যারেক্টার এনকোডিং হলো এমন একটি সিস্টেম যা ক্যারেক্টারগুলির জন্য ডিজিটাল কোড নির্ধারণ করে। কিছু সাধারণভাবে ব্যবহৃত এনকোডিং নিম্নরূপ:

Encoding

Features

Primary Usage

UTF-8

Supports multiple languages, the standard for Linux

Ubuntu, Web development

Shift_JIS

Japanese-specific, commonly used in Windows

Windows applications, legacy systems

EUC-JP

Used in UNIX-based systems

Older Linux systems

ISO-2022-JP

Used for emails and specific environments

Email communication

যেহেতু উবুন্টু প্রধানত UTF-8 ব্যবহার করে, অন্যান্য এনকোডিং-এ (যেমন Shift_JIS) ফাইল খোলার ফলে টেক্সট অস্পষ্ট হতে পারে।

একটি ফাইলের ক্যারেক্টার এনকোডিং চেক করার উপায়

১. file কমান্ড ব্যবহার করুন

file -i sample.txt

উদাহরণ আউটপুট:

sample.txt: text/plain; charset=iso-8859-1

২. nkf কমান্ড ব্যবহার করুন

sudo apt install -y nkf
nkf --guess sample.txt

উদাহরণ আউটপুট:

Shift_JIS (CRLF)

ক্যারেক্টার এনকোডিং কনভার্ট করার উপায়

১. iconv কমান্ড ব্যবহার করে কনভার্ট করুন

Shift_JIS থেকে UTF-8-এ কনভার্ট করুন:

iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt

EUC-JP থেকে UTF-8-এ কনভার্ট করুন:

iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt

২. nkf কমান্ড ব্যবহার করে কনভার্ট করুন

Shift_JIS থেকে UTF-8-এ কনভার্ট করুন:

nkf -w sample.txt > sample_utf8.txt

EUC-JP থেকে UTF-8-এ কনভার্ট করুন:

nkf -w --overwrite sample.txt

টার্মিনাল এবং এডিটরে অস্পষ্ট টেক্সট প্রতিরোধ করা

১. সঠিকভাবে প্রদর্শনের জন্য less কমান্ড ব্যবহার করুন

export LESSCHARSET=utf-8
less sample.txt

২. vim-এ ক্যারেক্টার এনকোডিং নির্দিষ্ট করুন

vim -c "set encoding=utf-8" sample.txt

৩. gedit বা VSCode-এ এনকোডিং পরিবর্তন করুন

  • gedit (GNOME-এর ডিফল্ট এডিটর)
  1. gedit sample.txt দিয়ে ফাইল খুলুন
  2. সেভ করার সময়, এনকোডিং UTF-8-এ পরিবর্তন করুন
  • VSCode (Visual Studio Code)
  1. স্ক্রিনের নিচে “Encoding”-এ ক্লিক করুন
  2. UTF-8 নির্বাচন করুন

৬. টার্মিনাল এবং এডিটর সেটিংস চেক করা

টার্মিনাল সেটিংস চেক এবং ঠিক করা

১. টার্মিনাল এনকোডিং সেটিংস চেক করুন

আপনার বর্তমান এনভায়রনমেন্ট ভ্যারিয়েবল চেক করার জন্য, নিম্নলিখিত কমান্ডগুলি চালান:

echo $LANG
echo $LC_ALL

উদাহরণ আউটপুট (সঠিক সেটিংস):

ja_JP.UTF-8
ja_JP.UTF-8

যদি আউটপুট C অথবা POSIX হয়, তবে আপনাকে লোকেল সেটিংস ja_J.UTF-8 এ পরিবর্তন করতে হবে।

২. টার্মিনাল ফন্ট কনফিগার করুন

GNOME টার্মিনাল (ডিফল্ট টার্মিনাল)

  1. টার্মিনাল খুলুন
  2. “Preferences” এ যান
  3. “Profile Preferences” খুলে “Text” ট্যাবে যান
  4. “Use custom font” সক্রিয় করুন এবং নিম্নলিখিতগুলোর মধ্যে একটি নির্বাচন করুন:
  • Noto Sans Mono CJK JP
  • VL Gothic
  • Takao Gothic
  1. সেটিংস সংরক্ষণ করুন এবং টার্মিনাল পুনরায় চালু করুন

টেক্সট এডিটরে ক্যারেক্টার এনকোডিং সেট করা

১. Vim এনকোডিং কনফিগার করুন

আপনার বর্তমান সেটিংস পরীক্ষা করতে খুলে চালান:

:set encoding?
:set fileencoding?

প্রত্যাশিত আউটপুট:

encoding=utf-8
fileencoding=utf-8

যদি utf-8 না থাকে, তবে আপনার ~/.vimrc ফাইলে নিম্নলিখিতটি যোগ করুন যাতে UTF-8 ডিফল্ট হয়:

set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac

২. Nano এনকোডিং কনফিগার করুন

ডিফল্ট সেটিং পরিবর্তন করতে, ~/.nanorc ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:

set encoding "utf-8"

৩. VSCode এনকোডিং কনফিগার করুন

  1. VSCode উইন্ডোর নিচের ডান কোণে “Encoding” এ ক্লিক করুন
  2. UTF-8 নির্বাচন করুন
  3. প্রয়োজনে “Save with Encoding” ব্যবহার করুন

UTF-8 ডিফল্ট এনকোডিং করতে, আপনার settings.json ফাইলে নিম্নলিখিতটি যোগ করুন:

"files.encoding": "utf8"

৭. নির্দিষ্ট ক্ষেত্রে ট্রাবলশুটিং

GUI অ্যাপ্লিকেশনে গারবেল টেক্সট সমাধান

১. Firefox এবং Chrome-এ জাপানি ডিসপ্লে সমস্যার সমাধান

সমাধান:

  1. প্রয়োজনীয় ফন্ট ইনস্টল করুন
sudo apt install -y fonts-noto-cjk fonts-ipafont
  1. ব্রাউজার ফন্ট সেটিংস পরীক্ষা করুন
  • Firefox 1. about:preferences এ যান, তারপর “Fonts & Colors → Advanced”** খুলুন
    1. “Proportional” এবং “Monospace Fonts” কে Noto Sans CJK JP এ পরিবর্তন করুন
  • Chrome:
    1. chrome://settings/fonts এ যান
    2. “Standard Font” এবং “Monospace Font” কে Noto Sans CJK JP এ পরিবর্তন করুন

২. LibreOffice-এ গারবেল টেক্সট সমাধান

সমাধান:

  1. fonts-noto-cjk এবং fonts-ipafont ইনস্টল করুন
  2. LibreOffice ফন্ট সেটিংস পরিবর্তন করুন
  • “Tools → Options → LibreOffice → Fonts” এ যান
  • ডিফল্ট ফন্টকে Noto Sans CJK JP এ পরিবর্তন করুন

CUI পরিবেশে গারবেল টেক্সট সমাধান

১. SSH সেশন গারবেল টেক্সট সমস্যার সমাধান

সমাধান:

  1. সার্ভারের লোকেল সেটিংস পরীক্ষা করুন
locale
  1. যদি ja_JP.UTF-8 অনুপস্থিত থাকে, তবে চালান:
sudo apt install -y language-pack-ja
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8

৮. প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

প্রশ্ন ১. আমার লোকেল সঠিকভাবে সেট করা আছে, তবু গারবেল টেক্সট দেখা যায়।

উত্তর: লোকেল সঠিক হলেও, সেটিংস যাচাই করুন:

locale

দি LANG=ja_JP.UTF-8 প্রদর্শিত না হয়, তবে লোকেল রিসেট করুন:

sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales

শ্ন ২. শুধুমাত্র নির্দিষ্ট ফাইলগুলোতে গারবেল টেক্সট আছে।

উত্তর: ফাইলের এনকোডিং ভিন্ন হতে পারে। নিম্নলিখিত কমান্ড দিয়ে পরীক্ষা করুন:

file -i sample.txt

যদি ফাইলটি UTF- না হয়, তবে রূপান্তর করুন:

iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt

অথবা nkf ব্যবহার করে:

nkf -w --overwrite sample.txt

৯. উপসংহার

এই প্রবন্ধে আমরা Ubuntu-র গারবেল টেক্সট সমস্যাগুলি, তাদের কারণ এবং সমাধান নিয়ে আলোচনা করেছি। গারবেল টেক্সটের প্রধান কারণগুলো হল ভুল লোকেল সেটিংস, ফন্টের অভাব, ক্যারেক্টার এনকোডিং মিসম্যাচ, এবং টার্মিনাল/এডিটর সেটিংসের ভুল কনফিগারেশন।

মূল বিষয়গুলো

  • সঠিক লোকেল সেট করুন :update-locale LANG=ja_JP.UTF-8` চালান
  • জাপানি ফন্ট ইনস্টল করুন : sudo apt install -y fonts-noto-cjk fonts-ipafont ব্যবহার করুন
  • ফাইলের এনকোডিং যাচাই করুন : file -i চালিয়ে iconv দিয়ে রূপান্তর করুন
  • টার্মিনাল ও এডর কনফিগার করুন : UTF-8 এনকোডিং সেটিংস প্রয়োগ করুন

এই ধাপগুলো অনুসরণ করে আপনি Ubuntu-তে গারবেল টেক্সট সমস্যাগুলি সমাধান ও প্রতিরোধ করতে পারবেন।

年収訴求