Ubuntu හි අකුරු විකෘති වීමේ සම්පූර්ණ මාර්ගෝපදේශය | හේතු, විසඳුම්, සහ සැකසුම් වෙනස්කම්

目次

1. හැඳින්වීම

Ubuntu භාවිතා කරන විට, ඔබට විශේෂ අවස්ථා කිහිපයකදී අකුරු විකෘති වීම (garbled text) සිදුවිය හැක. මෙය ටර්මිනල් ප්‍රතිඵලයේ, ජපන් ගොනු නාමයන් පෙන්වීමේ, හෝ ජපන් වෙබ් පිටු බ්‍රවුස් කිරීමේදී ඔබේ පරිසරය අනුව සිදු විය හැක. බොහෝ අවස්ථා වල, ජපන් අකුරු පෙරනිමි සැකසුම් සමඟ නිවැරදිව පෙන්වනු නොලැබේ, එබැවින් නිසි වින්‍යාසය අවශ්‍ය වේ.
මෙම ලිපියේදී, Ubuntu හි අකුරු විකෘති වීමේ හේතු පැහැදිලි කර, ඒවා සවිස්තරාත්මකව සකස් කිරීමේ විසඳුම් ලබා දෙනු ඇත. මෙම මාර්ගෝපදේශය අරමුණු කරගන්නේ:

  • ජපන් පෙන්වීමේ සැකසුම් තවම සකස් කර නොමැති Ubuntu ආරම්භකයන්
  • අකුරු විකෘති වීමේ මූලික හේතු තේරුම් ගැනීමට හා මූලික විසඳුම් සොයා ගැනීමට කැමති පරිශීලකයන්
  • ටර්මිනල් හෝ GUI පරිසරයන්හි අකුරු විකෘති වීම අත්විඳිමින්, ඒවා සකස් කරන ආකාරය දැන ගැනීමට අවශ්‍ය පරිශීලකයන්

Ubuntu හි අකුරු විකෘති වීමේ ප්‍රධාන හේතු පරීක්ෂා කරමු.

2. අකුරු විකෘති වීමේ ප්‍රධාන හේතු

වැරදි Locale සැකසුම්

Ubuntu හි locale ගොනු පද්ධතියේ භාෂා සහ දිනය ආකෘති සැකසුම් නියම කරයි. එය නිසි ලෙස වින්‍යාස නොකළහොත්, ජපන් අකුරු නිවැරදිව පෙන්වනු නොලැබේ, එවිට අකුරු විකෘති වීම සිදුවේ.
උදාහරණයක් ලෙස, locale විධානය ක්‍රියාත්මක කර “C” හෝ “POSIX” යන ප්‍රතිඵල දැකෙනවා නම්, ඔබේ locale සැකසුම් වැරදියි:

$ locale
LANG=C
LC_ALL=

ජපන් පරිසරයක් සඳහා, LANG=ja_JP.UTF-8 ලෙස සකස් කර තිබිය යුතුය.

අඩු හෝ නොමැති ෆොන්ට්

පෙරනිමියෙන් Ubuntu හි ජපන් ෆොන්ට් ස්ථාපිත නොවිය හැක. එබැවින්, ජපන් අකුරු නිසි ලෙස රෙන්ඩර් නොවී, චතුරස්‍ර කොටස් (□) හෝ අහඹු සංකේත ලෙස පෙන්වනු ඇත.
ෆොන්ට් ගැටළු පහත අවස්ථා වලින් හඳුනාගත හැක:

  • GUI යෙදුම්වල මෙනු සහ බොත්තම් වල අකුරු විකෘති වීම
  • පෙළ සංස්කාරකයක ජපන් අකුරු විකෘති වීම

අක්ෂර කේතනයේ නොගැලපීම

Ubuntu ප්‍රධාන වශයෙන් UTF-8 කේතනය භාවිතා කරන නමුත්, Shift_JIS හෝ EUC-JP ලෙස කේතනය කර ඇති ගොනු බාහිර මූලාශ්‍ර වලින් ආයාත කිරීමේදී අකුරු විකෘති විය හැක.
උදාහරණයක් ලෙස, Windows පරිසරයකින් සාදන ලද ගොනුව Ubuntu හි විවෘත කිරීමේදී:

  • පෙළ සංස්කාරකයක අකුරු කියවිය නොහැකි වීම
  • ටර්මිනලයේ cat විධානය භාවිතා කරන විට පෙළ විකෘති වීම

ටර්මිනල් හෝ සංස්කාරක සැකසුම් වැරදිවීම

ගොනුව UTF-8 ලෙස කේතනය කර තිබුණත්, ටර්මිනල් හෝ සංස්කාරක සැකසුම් නිසි නොවීමෙන් අකුරු රෙන්ඩර කිරීම අසාර්ථක වේ.

  • ටර්මිනල් කේතනය UTF-8 නොවන අගයක් ලෙස සකසා ඇත
  • Vim හෝ VSCode වැනි පෙළ සංස්කාරකයන් නිවැරදි කේතනය ස්වයංක්‍රීයව හඳුනා ගැනීමට අසමත් වේ
  • less හෝ cat භාවිතා කරන විට ජපන් අකුරු “?” හෝ “◇” ලෙස පෙන්වයි

3. Locale සැකසුම් පරීක්ෂා කිරීම සහ සකස් කිරීම

ඔබේ Locale සැකසුම් පරීක්ෂා කිරීමේ ක්‍රමය

වත්මන් locale සැකසුම් පරීක්ෂා කිරීමට, පහත විධානය ක්‍රියාත්මක කරන්න:

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 ස්ථාපනය සහ වින්‍යාස කිරීම

1. ජපන් Locale පරීක්ෂා කර එක් කිරීම

ජපන් locale ස්ථාපිත වී ඇත්දැයි පරීක්ෂා කිරීමට, පහත විධානය ක්‍රියාත්මක කරන්න:

locale -a | grep ja_JP

උදාහරණ ප්‍රතිඵල:

ja_JP.eucJP
ja_JP.utf8

ja_JP.utf8 නොමැති නම්, ජපන් locale පහත ආකාරයෙන් ස්ථාපනය කරන්න:

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

පසුව locale ජනනය කර පද්ධති සැකසුම් යාවත්කාලීන කරන්න:

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

2. පද්ධතිය පුරා Locale සකසන්න

වෙනස්කම් පද්ධතිය පුරා අදාළ කිරීම සඳහා, පහත විධානය ක්‍රියාත්මක කරන්න:

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

සැකසුම් යෙදීමට, ලොග් අවුට් කර නැවත ලොග් ඉන් වන්න හෝ ඔබේ පද්ධතිය නැවත ආරම්භ කරන්න.

4. අකුරු ස්ථාපනය කිරීම සහ වින්‍යාස කිරීම

ජපන් අකුරු අවශ්‍ය වීමේ හේතුව

පෙරනිමියෙන්, Ubuntu හි ජපන් අකුරු ස්ථාපනය කර නොමැති විය හැක. මෙය ජපන් පෙළ වැරදි ලෙස පෙන්වීමට, චතුරස්‍ර කොටස් (□) හෝ කියවීමට නොහැකි සංකේත ලෙස පෙනීමට හේතු වේ.
අකුරු-සම්බන්ධ ගැටළු පහත අවස්ථා වලදී දැකිය හැක:

  • GUI යෙදුම් වල මෙනු සහ බොත්තම් අකාරාදර්ශී ලෙස පෙනේ
  • පෙළ සංස්කාරකයක ජපන් පෙළ වැරදි ලෙස පෙන්වයි

නිර්දේශිත ජපන් අකුරු

Ubuntu සඳහා නිර්දේශිත ජපන් අකුරු කිහිපයක් මෙසේය:

Font Name

විශේෂාංග

Noto Sans CJK JP

Google විසින් සපයන ඉහළ-ගුණාත්මක ජපන් අක්ෂර මාලාව (පෙරනිමි ලෙස නිර්දේශිත)

Takao Fonts

පෙර Ubuntu සඳහා පෙරනිමි අකුරු (පටු සහ බොල්ඩ් අනුවාද වලින් ලබාගත හැක)

IPA Fonts

ඉහළ-ගුණාත්මක ෆොන්ට් සපයන තොරතුරු-තාක්ෂණ ප්‍රවර්ධන ආයතනය (IPA)

VL Gothic

ඉතා කියවීමට පහසු සහ ටර්මිනල් භාවිතයට අනුකූල

අකුරු ස්ථාපනය කරන ආකාරය

1. Noto Sans CJK JP ස්ථාපනය (නිර්දේශිත පෙරනිමි අකුර)

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

2. Takao අකුරු ස්ථාපනය

sudo apt install -y fonts-takao

3. IPA අකුරු ස්ථාපනය (තොරතුරු තාක්ෂණ ප්‍රවර්ධන ආයතනය)

sudo apt install -y fonts-ipafont

4. 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, ආදිය) තුළ ජපන් පෙළ නිවැරදිව පෙන්වෙනදැයි පරීක්ෂා කරන්න

5. අක්ෂර කේතනය පරීක්ෂා කිරීම සහ පරිවර්තනය

අක්ෂර කේතනය란 කුමක්ද?

අක්ෂර කේතනය යනු අක්ෂර වලට ඩිජිටල් කේත නියම කරන පද්ධතියකි. සාමාන්‍යයෙන් භාවිතා වන කේතන කිහිපයක් මෙසේය:

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

Ubuntu ප්‍රධාන වශයෙන් UTF-8 භාවිතා කරන බැවින්, වෙනත් කේතන (උදා: Shift_JIS) වලින් ගොනු විවෘත කිරීමේදී වැරදි පෙළ පෙන්විය හැක.

ගොනුවක අක්ෂර කේතනය පරීක්ෂා කිරීමේ ආකාරය

1. file විධානය භාවිතා කිරීම

file -i sample.txt

උදාහරණ ප්‍රතිඵල:

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

2. nkf විධානය භාවිතා කිරීම

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

උදාහරණ ප්‍රතිඵල:

Shift_JIS (CRLF)

අක්ෂර කේතනය පරිවර්තනය කිරීමේ ආකාරය

1. 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

2. nkf විධානය භාවිතා කර පරිවර්තනය

Shift_JIS සිට UTF-8 වෙත පරිවර්තනය:

nkf -w sample.txt > sample_utf8.txt

EUC-JP සිට UTF-8 වෙත පරිවර්තනය:

nkf -w --overwrite sample.txt

ටර්මිනලය සහ සංස්කාරක වල වැරදි පෙළ වැළැක්වීම

1. less විධානය භාවිතා කර නිවැරදිව පෙන්වීම

export LESSCHARSET=utf-8
less sample.txt

2. vim තුළ අක්ෂර කේතනය නියම කිරීම

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

3. gedit හෝ VSCode තුළ කේතනය වෙනස් කිරීම

  • gedit (GNOME හි පෙරනිමි සංස්කාරකය)
  1. gedit sample.txt භාවිතා කර ගොනුව විවෘත කරන්න
  2. සුරකින විට, කේතනය UTF-8 ලෙස වෙනස් කරන්න
  • VSCode (Visual Studio Code)
  1. තිරයේ පහලින් “Encoding” ක්ලික් කරන්න
  2. UTF-8 තෝරන්න

6. ටර්මිනලය සහ සංස්කාරක සැකසුම් පරීක්ෂා කිරීම

ටර්මිනල සැකසුම් පරීක්ෂා කිරීම සහ සවි කිරීම

1. ටර්මිනල කේතන සැකසුම් පරීක්ෂා කිරීම

ඔබගේ වත්මන් පරිසර විචල්‍ය පරීක්ෂා කිරීමට, පහත විධාන ක්‍රියාත්මක කරන්න:

echo $LANG
echo $LC_ALL

උදාහරණ ප්‍රතිඵල (නිවැරදි සැකසුම්):

ja_JP.UTF-8
ja_JP.UTF-8

If the output is C or POSIX, you need to change the locale settings to ja_JP.UTF-8.

2. ටර්මිනල් අකුරු සැකසීම

GNOME ටර්මිනල් (පෙරනිමි ටර්මිනල්)

  1. ටර්මිනලය විවෘත කරන්න
  2. “Preferences” වෙත යන්න
  3. “Profile Preferences” විවෘත කර “Text” ටැබ් වෙත යන්න
  4. “Use custom font” සක්‍රිය කර පහත සඳහන් එකක් තෝරන්න:
  • Noto Sans Mono CJK JP
  • VL Gothic
  • Takao Gothic
  1. සැකසුම් සුරකින්න සහ ටර්මිනලය නැවත ආරම්භ කරන්න

පෙළ සංස්කාරක වල අක්ෂර කේතනය සැකසීම

1. Vim කේතනය සැකසීම

ඔබගේ වත්මන් සැකසුම් පරීක්ෂා කිරීමට, Vim විවෘත කර ධාවනය කරන්න:

:set encoding?
:set fileencoding?

අපේක්ෂිත ප්‍රතිඵල:

encoding=utf-8
fileencoding=utf-8

එය utf-8 ලෙස සකසා නොමැති නම්, UTF-8 පෙරනිමි ලෙස සැකසීමට ඔබේ ~/.vimrc ගොනුවට පහත එකතු කරන්න:

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

2. Nano කේතනය සැකසීම

පෙරනිමි සැකසීම වෙනස් කිරීමට, ~/.nanorc ගොනුවට පහත පේළිය එකතු කරන්න:

set encoding "utf-8"

3. VSCode කේතනය සැකසීම

  1. VSCode කවුළුවේ දකුණු-පහළ කොණේ “Encoding” මත ක්ලික් කරන්න
  2. UTF-8 තෝරන්න
  3. අවශ්‍ය නම්, “Save with Encoding” භාවිතා කරන්න

UTF-8 පෙරනිමි කේතනය ලෙස සැකසීමට, ඔබේ settings.json ගොනුවට පහත එකතු කරන්න:

"files.encoding": "utf8"

7. විශේෂ අවස්ථා සඳහා ගැටළු විසඳීම

GUI යෙදුම් වල අකුරු විකෘති කිරීම සකස් කිරීම

1. Firefox සහ Chrome හි ජපන් පෙන්වීමේ ගැටළු

විසඳුම:

  1. අවශ්‍ය අකුරු ස්ථාපනය කරන්න
sudo apt install -y fonts-noto-cjk fonts-ipafont
  1. බ්‍රවුසරයේ අකුරු සැකසුම් පරීක්ෂා කරන්න
  • Firefox:
    1. about:preferences වෙත යන්න, පසුව “Fonts & Colors” → “Advanced” විවෘත කරන්න
    2. “Proportional” සහ “Monospace Fonts” Noto Sans CJK JP වෙත වෙනස් කරන්න
  • Chrome:
    1. chrome://settings/fonts වෙත යන්න
    2. “Standard Font” සහ “Monospace Font” Noto Sans CJK JP වෙත වෙනස් කරන්න

2. LibreOffice හි අකුරු විකෘති කිරීම සකස් කිරීම

විසඳුම:

  1. fonts-noto-cjk සහ fonts-ipafont ස්ථාපනය කරන්න
  2. LibreOffice අකුරු සැකසුම් වෙනස් කරන්න
  • “Tools” → “Options” → “LibreOffice” → “Fonts” වෙත යන්න
  • පෙරනිමි අකුර Noto Sans CJK JP වෙත වෙනස් කරන්න

CUI පරිසර වල අකුරු විකෘති කිරීම සකස් කිරීම

1. SSH සැසියේ අකුරු විකෘති ගැටළු

විසඳුම:

  1. සේවාදායකයේ locale සැකසුම් පරීක්ෂා කරන්න
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

8. නිතර අසන ප්‍රශ්න (FAQ)

Q1. මගේ locale නිවැරදිව සකසා ඇත, නමුත් අකුරු විකෘතිව පවතී.

A: ඔබේ locale නිවැරදි වුවත්, සැකසුම් පරීක්ෂා කරන්න:

locale

LANG=ja_JP.UTF-8 පෙන්වන්නේ නැත්නම්, locale නැවත සකසන්න:

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

Q2. විශේෂිත ගොනු පමණක් අකුරු විකෘති වේ.

A: ගොනුව වෙනත් කේතනයක් ඇති විය හැක. පරීක්ෂා කිරීම සඳහා:

file -i sample.txt

ගොනුව UTF-8 නොවේ නම්, පරිවර්තනය කරන්න:

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

හෝ nkf භාවිතා කර:

nkf -w --overwrite sample.txt

9. නිගමනය

මෙම ලිපියේ, අපි Ubuntu හි අකුරු විකෘති ගැටළු පිළිබඳ, ඒවායේ හේතු සහ ඒවා සකස් කිරීම පිළිබඳ කතා කළෙමු. අකුරු විකෘති වීමට ප්‍රධාන හේතු වන්නේ වැරදි locale සැකසුම්, අකුරු නොමැති වීම, අක්ෂර කේතනය නොගැලපීම, සහ ටර්මිනල්/සංස්කාරක සැකසුම් වැරදි වීමයි.

ප්‍රධාන සාරාංශ

  • නිවැරදි locale සකසන්න : update-locale LANG=ja_JP.UTF-8 ධාවනය කරන්න
  • ජපන් අකුරු ස්ථාපනය කරන්න : sudo apt install -y fonts-noto-cjk fonts-ipafont භාවිතා කරන්න
  • ගොනු කේතනය පරීක්ෂා කරන්න : file -i භාවිතා කර iconv සමඟ පරිවර්තනය කරන්න
  • ටර්මිනල් සහ සංස්කාරක සැකසීම : UTF-8 කේතනය සැකසුම් යෙදෙන බව තහවුරු කරන්න

මෙම පියවර අනුගමනය කිරීමෙන්, ඔබට Ubuntu හි අකුරු විකෘති ගැටළු විසඳා, එය වැළැක්විය හැක.

侍エンジニア塾