- 1 1. Úvod
- 2 2. Hlavní příčiny nečitelného textu
- 3 3. Kontrola a oprava nastavení locale
- 4 4. Instalace a konfigurace japonských fontů
- 5 5. Kontrola a konverze znakové sady
- 6 6. Kontrola nastavení terminálu a editoru
- 7 7. Řešení pro konkrétní případy
- 8 8. FAQ (Často kladené otázky)
- 8.1 Q1. Nastavil jsem locale správně, ale poškozený text se stále objevuje.
- 8.2 Q2. Pouze některé soubory zobrazují poškozený text.
- 8.3 Q3. Nemohu zadávat japonské znaky v terminálu.
- 8.4 Q4. Japonský text je v WSL poškozený.
- 8.5 Q5. Japonský text je poškozený uvnitř Docker kontejneru.
- 8.6 Q6. GUI nabídky a dialogová okna zobrazují poškozený japonský text.
- 9 9. Shrnutí
- 10 Závěr
1. Úvod
Při používání Ubuntu se můžete občas setkat s nečitelnými (rozmazanými) znaky. Tyto problémy se mohou objevit v různých situacích, například v terminálovém výstupu, při zobrazování japonských názvů souborů nebo při prohlížení japonských webových stránek v prohlížeči. V mnoha případech se japonský text nezobrazí správně s výchozím nastavením, takže je nutné provést správnou konfiguraci.
Tento článek vysvětluje příčiny nečitelného textu v Ubuntu a poskytuje konkrétní řešení, jak je odstranit. Tento průvodce je určen pro následující uživatele:
- Začátečníky, kteří používají Ubuntu bez nastavení podpory japonského jazyka
- Uživatelé, kteří chtějí pochopit kořenovou příčinu nečitelného textu a hledají základní řešení
- Uživatelé, kteří mají problémy s nečitelným textem v terminálu nebo v grafickém prostředí a chtějí vědět, jak je opravit
Začněme přehledem hlavních příčin nečitelného textu v Ubuntu.
2. Hlavní příčiny nečitelného textu
Nesprávné nastavení locale
Locale v Ubuntu definuje systémová nastavení související s jazykem, formátem data a dalšími regionálními chováními. Když jsou tato nastavení nesprávná, japonský text se nemusí zobrazovat správně, což vede k nečitelným znakům.
Například pokud příkaz locale vrátí hodnoty jako „C“ nebo „POSIX“, systémové locale není správně nakonfigurováno:
$ locale
LANG=C
LC_ALL=
Ideálně by japonské prostředí mělo ukazovat nastavení jako LANG=ja_JP.UTF-8.
Chybějící nebo nenastavené fonty
V některých výchozích instalacích Ubuntu nemusí být k dispozici japonské fonty, což způsobí, že se japonský text zobrazí jako prázdné čtverečky (□) nebo nečitelné symboly.
Tento problém se typicky vyskytuje v následujících situacích:
- Položky menu a tlačítka v GUI aplikacích jsou poškozené
- Otevření japonského textu v editoru zobrazí nečitelné znaky
Nesoulad kódování znaků
Ubuntu primárně používá kódování UTF-8. Když otevíráte soubory kódované v Shift_JIS nebo EUC-JP — což je běžné u starších Windows nebo UNIX systémů — může dojít k poškození textu.
Typické problémy zahrnují:
- Textové editory zobrazují podivné symboly při otevření japonských souborů
- Výstup příkazu
catv terminálu vypadá poškozeně
Nesprávná konfigurace terminálu nebo editoru
I když jsou soubory správně kódovány v UTF‑8, nesprávně nastavený terminál nebo editor může stále způsobovat problémy se zobrazováním.
- Kódování terminálu je nastaveno na něco jiného než
UTF-8 - Editory jako Vim nebo VSCode nedokážou automaticky detekovat kódování znaků
- Japonské znaky se zobrazují jako „?“ nebo „◇“ při prohlížení pomocí
lessnebocat
3. Kontrola a oprava nastavení locale
Jak zkontrolovat nastavení locale
Pro kontrolu aktuální konfigurace locale spusťte následující příkaz:
locale
Příklad výstupu:
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=
V tomto případě LANG=C naznačuje, že podpora japonštiny není povolena. Pro správnou japonskou konfiguraci byste měli vidět hodnoty jako:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Instalace a nastavení japonského locale
1. Zkontrolujte a přidejte japonské locale
Pro ověření, zda je japonské locale ve vašem systému k dispozici, spusťte tento příkaz:
locale -a | grep ja_JP
Příklad výstupu:
ja_JP.eucJP
ja_JP.utf8
Pokud ja_JP.utf8 není v seznamu, musíte nainstalovat balíček japonského locale.
Nainstalujte jej pomocí následujících příkazů:
sudo apt update
sudo apt install -y language-pack-ja
Poté locale povolte:
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
2. Použijte locale systémově
Pro aplikaci změny locale v celém systému spusťte následující příkazy:
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Aby změny byly trvalé, přidejte je do ~/.bashrc nebo ~/.profile:
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
Pokud chcete nastavení použít pro všechny uživatele, upravte místo toho následující soubor:
sudo nano /etc/default/locale
Přidejte nebo aktualizujte následující položky:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Pro použití nastavení se odhlaste a znovu přihlaste, nebo restartujte systém.
4. Instalace a konfigurace japonských fontů
Proč jsou japonské fonty potřebné
Ve výchozím prostředí Ubuntu nemusí být japonské fonty nainstalovány. Bez nich se japonský text zobrazuje jako prázdné čtverečky nebo nečitelné symboly.
Chybějící fonty můžete ověřit v následujících situacích:
- Popisky v menu a tlačítka GUI zobrazují poškozené znaky
- Japonský text se po otevření v textovém editoru zobrazí poškozený
Doporučené japonské fonty
Následující japonské fonty jsou k dispozici v Ubuntu:
| Font Name | Description |
|---|---|
| Noto Sans CJK JP | A high-quality Japanese font provided by Google (recommended as default) |
| Takao Fonts | The former default fonts in Ubuntu, available in regular and bold styles |
| IPA Fonts | High-quality fonts provided by the Information-technology Promotion Agency (IPA) |
| VL Gothic (VLゴシック) | Highly readable, ideal for terminal environments |
Jak nainstalovat japonské fonty
1. Noto Sans CJK JP (Recommended Default)
sudo apt update
sudo apt install -y fonts-noto-cjk
2. Takao Fonts
sudo apt install -y fonts-takao
3. IPA Fonts
sudo apt install -y fonts-ipafont
4. VL Gothic (pro terminálové použití)
sudo apt install -y fonts-vlgothic
Po dokončení instalace restartujte systém nebo obnovte mezipaměť fontů:
fc-cache -fv
Jak nakonfigurovat fonty
Konfigurace fontů v GUI aplikacích
- Otevřete aplikaci „Nastavení“
- Přejděte do sekce „Fonty“
- Změňte „Standardní font“, „Font dokumentu“ a „Monospace font“ na vámi preferované fonty
- Odhlaste se a znovu přihlaste, aby se změny projevily
Konfigurace fontů v terminálu
- Otevřete terminál
- Vyberte „Předvolby“ v nabídce
- Otevřete nastavení „Profil“ a povolte „Použít vlastní font“
- Vyberte vámi preferovaný font (např. Noto Sans Mono CJK JP )
- Uložte nastavení a restartujte terminál
Ověření konfigurace fontů
Pro potvrzení, že fonty byly aplikovány správně, vyzkoušejte následující kroky:
- Zkontrolujte nainstalované fonty pomocí
fc-listfc-list | grep "Noto"
- Ověřte zobrazení japonštiny v terminálu
echo "こんにちは、Ubuntuの文字化け対策"
- Potvrďte vykreslování japonského textu v GUI aplikacích, jako jsou Firefox nebo LibreOffice
5. Kontrola a konverze znakové sady
Co je znaková sada?
Znaková sada určuje, jak jsou znaky digitálně reprezentovány. Běžné sady zahrnují:
| Encoding | Characteristics | Main Usage |
|---|---|---|
| UTF-8 | Multi-language support; standard in Linux | Ubuntu and web development |
| Shift_JIS | Japanese-focused; standard in Windows environments | Windows apps and legacy systems |
| EUC-JP | Previously used in UNIX-based systems | Older Linux distributions |
| ISO-2022-JP | Used in some mail systems | Email communication |
Protože Ubuntu používá UTF-8 jako výchozí znakovou sadu, otevírání souborů kódovaných v jiných formátech může vést k poškozenému textu.
Jak zkontrolovat znakovou sadu souboru
1. Použití příkazu file
file -i sample.txt
Příklad výstupu:
sample.txt: text/plain; charset=iso-8859-1
2. Použití příkazu nkf
sudo apt install -y nkf
nkf --guess sample.txt
Příklad výstupu:
Shift_JIS (CRLF)
Jak konvertovat znakovou sadu
1. Použití příkazu iconv
Příklad: konverze Shift_JIS na UTF-8
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Příklad: konverze EUC-JP na UTF-8
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. Použití příkazu nkf
Příklad: konverze Shift_JIS na UTF-8
nkf -w sample.txt > sample_utf8.txt
Příklad: konverze EUC-JP na UTF-8
nkf -w --overwrite sample.txt
Prevence poškozeného textu v terminálech a editorech
1. Zobrazte správnou znakovou sadu pomocí less
export LESSCHARSET=utf-8
less sample.txt
2. Otevřete soubory s určenou znakovou sadou ve vim
vim -c "set encoding=utf-8" sample.txt
3. Upravit znakovou sadu v gedit nebo VSCode
- gedit (výchozí editor GNOME)
- Otevřete soubor pomocí
gedit sample.txt - Při ukládání vyberte
UTF-8v rozbalovacím seznamu „Kódování“
- VSCode (Visual Studio Code)
- Klikněte na indikátor “Encoding” ve spodní části okna
- Vyberte
UTF-8pro převod souboru

6. Kontrola nastavení terminálu a editoru
Ověření a úprava nastavení terminálu
1. Zkontrolujte kódování terminálu
Pro potvrzení nastavení locale spusťte níže uvedené příkazy:
echo $LANG
echo $LC_ALL
Příklad výstupu (správná konfigurace)
ja_JP.UTF-8
ja_JP.UTF-8
Pokud výstup ukazuje C nebo POSIX, změňte locale na ja_JP.UTF-8.
2. Nastavení fontů terminálu
GNOME Terminal (výchozí terminál Ubuntu)
- Otevřete terminál
- Vyberte “Preferences”
- Otevřete “Profile” a přejděte na kartu “Text”
- Povolte “Use custom font” a vyberte jeden z následujících:
- Noto Sans Mono CJK JP
- VL Gothic
- Takao Gothic
- Uložte nastavení a restartujte terminál
Nastavení kódování editoru
1. Nastavení kódování ve Vimu
Otevřete Vim a spusťte následující příkazy pro kontrolu aktuálního kódování:
:set encoding?
:set fileencoding?
Příklad výstupu:
encoding=utf-8
fileencoding=utf-8
Pokud se nastavení liší od utf-8, aktualizujte ~/.vimrc pomocí:
set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac
2. Nastavení kódování v Nano
Pro změnu výchozího kódování přidejte následující do ~/.nanorc:
set encoding "utf-8"
3. Nastavení kódování ve VSCode
- Klikněte na indikátor “Encoding” v pravém dolním rohu
- Vyberte “Reopen with Encoding” a zvolte
UTF-8 - V případě potřeby vyberte “Save with Encoding”
Pro nastavení UTF-8 jako výchozího přidejte následující do settings.json:
"files.encoding": "utf8"
7. Řešení pro konkrétní případy
Zamezení poškozenému textu v GUI aplikacích
1. Japonské znaky se zobrazují nesprávně ve Firefoxu nebo Chrome
Řešení:
- Nainstalujte požadované japonské fonty
sudo apt install -y fonts-noto-cjk fonts-ipafont
- Zkontrolujte a aktualizujte nastavení fontů prohlížeče
Firefox: wp:list {„ordered“:true} /wp:list
- Navštivte
about:preferences - Otevřete “Fonts & Colors” → “Advanced”
Nastavte oba fonty “Proportional” a “Monospace” na
Noto Sans CJK JP
Google Chrome:* wp:list {„ordered“:true} /wp:listOtevřete
chrome://settings/fonts- Změňte “Standard font” a “Fixed-width font” na
Noto Sans CJK JP
- Navštivte
2. Poškozený text v LibreOffice
Řešení:
- Nainstalujte japonské fonty, např.
fonts-noto-cjknebofonts-ipafont - Změňte nastavení fontů v LibreOffice
- Přejděte na “Tools” → “Options” → “LibreOffice” → “Fonts”
- Nastavte výchozí font na
Noto Sans CJK JP
Zamezení poškozenému textu v CUI prostředích
1. SSH relace zobrazuje poškozené znaky
Řešení:
- Zkontrolujte locale na vzdáleném serveru
locale
- Pokud není nastaveno na
ja_JP.UTF-8, spusťte následující příkazy:sudo apt install -y language-pack-ja sudo locale-gen ja_JP.UTF-8 sudo update-locale LANG=ja_JP.UTF-8
Zamezení poškozenému textu v konkrétních aplikacích
1. WSL (Windows Subsystem for Linux) zobrazuje poškozený japonský text
Řešení:
- Nakonfigurujte WSL tak, aby používal
ja_JP.UTF-8echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc source ~/.bashrc
- Nastavte font Windows Terminal na
Noto Sans Mono CJK JP
2. Poškozený japonský text uvnitř Docker kontejnerů
Řešení:
- Vstupte do kontejneru a zkontrolujte locale
docker exec -it container_name bash locale
- Přidejte japonské locale, pokud chybí
apt update && apt install -y locales locale-gen ja_JP.UTF-8 export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF-8
8. FAQ (Často kladené otázky)
Q1. Nastavil jsem locale správně, ale poškozený text se stále objevuje.
A: Znovu ověřte nastavení locale:
locale
Pokud není nastaveno LANG=ja_JP.UTF-8, přenastavte pomocí:
sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales
Q2. Pouze některé soubory zobrazují poškozený text.
O: Různé soubory mohou mít různá kódování znaků. Zkontrolujte kódování:
file -i sample.txt
Pokud soubor není v UTF-8, převedete jej:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Nebo pomocí nkf:
nkf -w --overwrite sample.txt
Q3. Nemohu zadávat japonské znaky v terminálu.
O: Ujistěte se, že je nainstalována japonská vstupní metoda (Fcitx nebo IBus).
sudo apt update
sudo apt install -y fcitx-mozc
im-config -n fcitx
Q4. Japonský text je v WSL poškozený.
O: Nastavte locale ve WSL:
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
Q5. Japonský text je poškozený uvnitř Docker kontejneru.
O: Pokud je locale nastaveno na C.UTF-8, japonský text se nezobrazí správně.
apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Q6. GUI nabídky a dialogová okna zobrazují poškozený japonský text.
O: Nainstalujte fonty a změňte nastavení fontu:
sudo apt install -y fonts-noto-cjk fonts-ipafont
9. Shrnutí
Tento článek poskytl podrobný výklad příčin a řešení problémů s poškozeným textem v Ubuntu. Poškozené znaky se obvykle vyskytují kvůli nesprávně nastavenému locale, chybějícím fontům, nesouladu kódování znaků nebo nesprávné konfiguraci terminálu/editoru. Nicméně s vhodnými úpravami lze tyto problémy účinně vyřešit.
1. Hlavní příčiny poškozeného textu
- Nesprávná konfigurace locale : Pokud je systémové locale nastaveno na
CneboPOSIX, japonský text se nemůže zobrazit správně - Fonty nejsou nainstalovány : Bez japonských fontů nemohou GUI aplikace a terminály správně vykreslovat japonské znaky
- Nesoulad kódování : Otevírání souborů uložených v různých kódováních (např. Shift_JIS) může způsobit poškození
- Nesprávné nastavení terminálu/editoru : Pokud není kódování nastaveno na UTF-8, japonský text se nemusí zobrazit správně
2. Řešení pro prevenci poškozeného textu
| Item | Solution |
|---|---|
| Locale configuration | Check with locale and run update-locale LANG=ja_JP.UTF-8 |
| Font installation | sudo apt install -y fonts-noto-cjk fonts-ipafont |
| Check file encoding | Use file -i or nkf --guess |
| Convert encoding | iconv -f SHIFT_JIS -t UTF-8 filename -o newfile |
| Terminal configuration | Set LESSCHARSET=utf-8 and change fonts to Noto Sans Mono CJK JP |
| Fix GUI garbled text | Set fonts to Noto Sans CJK JP and use gnome-tweaks if needed |
| Fix WSL garbled text | Set ja_JP.UTF-8 and configure fonts |
| Fix Docker garbled text | Run locale-gen ja_JP.UTF-8 and configure locale in Dockerfile |
3. Další doporučení
- Udržujte systém aktualizovaný : Zastaralé balíčky mohou způsobovat problémy v japonském prostředí
sudo apt update && sudo apt upgrade -y
- Trvalá nastavení : Přidejte nastavení locale do
~/.bashrcnebo~/.profile, aby se automaticky aplikovala při přihlášení - Zálohujte konfigurační soubory : Před úpravou souborů jako
/etc/default/localevytvořte zálohu
Závěr
Problém poškozeného textu v Ubuntu lze vyřešit správnou konfigurací čtyř klíčových komponent: locale, fonty, kódování znaků a nastavení terminálu/editoru. Dodržením metod uvedených v tomto průvodci můžete eliminovat téměř všechny problémy s poškozeným textem v různých Ubuntu prostředích, ať už v terminálových seancích, GUI aplikacích, WSL nebo Docker kontejnerech.



