- 1 1. Úvod
- 2 2. Hlavní příčiny zkazměného textu
- 3 3. Kontrola a oprava nastavení locale
- 4 4. Instalace a konfigurace písem
- 5 5. Kontrola a konverze kódování znaků
- 6 6. Kontrola nastavení terminálu a editoru
- 7 7. Řešení specifických případů
- 8 8. Často kladené otázky (FAQ)
- 9 9. Závěr
1. Úvod
Při používání Ubuntu můžete narazit na zobrazení zkazměného textu v určitých situacích. To se může stát ve výstupu terminálu, při zobrazování japonských názvů souborů nebo při prohlížení japonských webových stránek, v závislosti na vašem prostředí. V mnoha případech se japonský text nemusí zobrazovat správně s výchozími nastaveními, což vyžaduje správnou konfiguraci. V tomto článku vysvětlíme příčiny zkazměného textu v Ubuntu a poskytneme konkrétní řešení pro jeho opravu. Tento průvodce je určen pro:
- Začátečníky Ubuntu, kteří ještě nenastavili nastavení pro zobrazení japonštiny
- Uživatele, kteří chtějí pochopit kořenové příčiny zkazměného textu a najít zásadní řešení
- Uživatele, kteří zažívají zkazměný text v terminálu nebo GUI prostředí a chtějí vědět, jak to opravit
Začněme zkoumáním hlavních příčin zkazměného textu v Ubuntu.
2. Hlavní příčiny zkazměného textu
Nesprávná nastavení locale
Locales v Ubuntu definují systémový jazyk a nastavení formátování dat. Pokud nejsou správně nakonfigurovány, japonský text se nemusí zobrazovat správně, což vede k zkazměným znakům.
Například, pokud spustíte příkaz locale a uvidíte „C“ nebo „POSIX“ ve výstupu, vaše nastavení locale mohou být nesprávná:
$ locale
LANG=C
LC_ALL=
Ideálně by pro japonské prostředí mělo být nastaveno LANG=ja_JP.UTF-8.
Chybějící nebo nedostatečné písma
Výchozí nastavení Ubuntu nemusí mít nainstalovaná japonská písma. V důsledku toho se japonský text nemusí vykreslovat správně a místo toho se zobrazí jako čtvercové boxy (□) nebo náhodné symboly. Problémy s písmy lze identifikovat v následujících případech:
- Zkazměný text se objevuje v menu a tlačítkách GUI aplikací
- Japonský text v textovém editoru se zobrazuje zkazměně
Nesoulad v kódování znaků
I když Ubuntu primárně používá UTF-8 jako standardní kódování, otevírání souborů zakódovaných v Shift_JIS nebo EUC-JP z externích zdrojů může způsobit zkazměný text.
Například otevření souboru vytvořeného v prostředí Windows v Ubuntu může vést k následujícím výsledkům:
- Nečitelné znaky při otevření v textovém editoru
- Zkreslený text při použití příkazu
catv terminálu
Nesprávně nakonfigurovaná nastavení terminálu nebo editoru
I když je soubor zakódován v UTF-8, nesprávná nastavení terminálu nebo editoru mohou bránit správnému vykreslování textu.
- Kódování terminálu je nastaveno na něco jiného než
UTF-8 - Textové editory jako Vim nebo VSCode nedetekují správné kódování automaticky
- Japonské znaky se zobrazují jako „?“ nebo „◇“ při zobrazení s
lessnebocat
3. Kontrola a oprava nastavení locale
Jak zkontrolovat nastavení locale
K zkontrolování aktuálních nastavení 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=
Pokud se zobrazí LANG=C, váš systém není správně nastaven pro japonštinu. Správně nakonfigurované japonské prostředí by mělo vypadat takto:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Instalace a konfigurace japonského locale
1. Kontrola a přidání japonského locale
K zkontrolování, zda je nainstalováno japonské locale, spusťte:
locale -a | grep ja_JP
Příklad výstupu:
ja_JP.eucJP
ja_JP.utf8
Pokud chybí ja_JP.utf8, nainstalujte japonské locale pomocí:
sudo apt update
sudo apt install -y language-pack-ja
Poté vygenerujte locale a aktualizujte systémová nastavení:
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
2. Nastavení locale pro celý systém
K aplikaci změn pro celý systém spusťte:
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Aby byly tyto změny 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
Pro změny platné pro celý systém upravte:
sudo nano /etc/default/locale
A přidejte nebo upravte následující:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
Pro aplikaci nastavení se odhlaste a přihlaste znovu nebo restartujte systém.
4. Instalace a konfigurace písem
Proč jsou japonská písa nutná
Ve výchozím nastavení nemusí mít Ubuntu nainstalovaná japonská písa. To může vést k nesprávnému zobrazení japonského textu, který se objevuje jako čtvercové boxy (□) nebo nečitelné symboly. Problémy související s písmy lze pozorovat v následujících případech:
- Menu a tlačítka v grafických aplikacích se zobrazují zdeformovaně
- Japonský text v textovém editoru se zobrazuje nesprávně
Doporučená japonská písa
Zde jsou některá doporučená japonská písa pro Ubuntu:
Font Name | Funkce |
|---|---|
| Noto Sans CJK JP | Vysoce kvalitní japonský font poskytovaný Googlem (doporučený jako výchozí) |
| Takao Fonts | Předtím byl výchozí font pro Ubuntu (k dispozici v tenké a tučné verzi) |
| IPA Fonts | Kvalitní písma poskytuje Agentura pro podporu informačních technologií (IPA) |
| VL Gothic | Velmi čitelné a optimalizované pro použití v terminálu |
Jak instalovat písa
1. Instalace Noto Sans CJK JP (doporučené výchozí písmo)
sudo apt update
sudo apt install -y fonts-noto-cjk
2. Instalace písem Takao
sudo apt install -y fonts-takao
3. Instalace písem IPA (Information-technology Promotion Agency)
sudo apt install -y fonts-ipafont
4. Instalace VL Gothic (optimalizováno pro terminál)
sudo apt install -y fonts-vlgothic
Po instalaci písem restartujte systém nebo obnovte mezipaměť písem pomocí:
fc-cache -fv
Jak konfigurovat písa
Nastavení písem v grafických aplikacích
- Otevřete aplikaci „Nastavení“
- Přejděte do sekce „Písa“
- Změňte „Standardní písmo“, „Písmo dokumentu“ a „Monospace písmo“ na požadované písmo
- Odhlaste se a přihlaste znovu pro aplikaci nastavení
Nastavení písem v terminálu
- Otevřete terminál
- Přejděte do „Předvolby“ → „Předvolby profilu“
- Zaškrtněte políčko „Použít vlastní písmo“
- Vyberte požadované písmo (např. Noto Sans Mono CJK JP)
- Uložte nastavení a restartujte terminál
Aplikace a ověření nastavení písem
Pro ověření, zda byla nastavení písem správně aplikována, zkuste následující:
- Zkontrolujte nainstalovaná písa pomocí příkazu
fc-list
fc-list | grep "Noto"
- Otestujte zobrazení japonského textu v terminálu
echo "こんにちは、Ubuntuの文字化け対策"
- Zkontrolujte, zda se japonský text zobrazuje správně v grafických aplikacích (Firefox, LibreOffice atd.)
5. Kontrola a konverze kódování znaků
Co je kódování znaků?
Kódování znaků je systém, který přiřazuje digitální kódy znakům. Mezi běžně používaná kódování patří:
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 |
Protože Ubuntu primárně používá UTF-8, otevírání souborů v jiných kódováních (jako Shift_JIS) může způsobit zdeformovaný text.
Jak zkontrolovat kódování 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 kódování znaků
1. Konverze pomocí příkazu iconv
Konverze Shift_JIS na UTF-8:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Konverze EUC-JP na UTF-8:
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. Konverze pomocí příkazu nkf
Konverze Shift_JIS na UTF-8:
nkf -w sample.txt > sample_utf8.txt
Konverze EUC-JP na UTF-8:
nkf -w --overwrite sample.txt
Prevence zdeformovaného textu v terminálu a editorech
1. Použití příkazu less pro správné zobrazení
export LESSCHARSET=utf-8
less sample.txt
2. Specifikace kódování v vim
vim -c "set encoding=utf-8" sample.txt
3. Změna kódování v gedit nebo VSCode
- gedit (výchozí editor GNOME)
- Otevřete soubor pomocí
gedit sample.txt - Při ukládání změňte kódování na
UTF-8
- VSCode (Visual Studio Code)
- Klikněte na „Kódování“ v dolní části obrazovky
- Vyberte
UTF-8
6. Kontrola nastavení terminálu a editoru
Kontrola a oprava nastavení terminálu
1. Kontrola nastavení kódování terminálu
Pro kontrolu aktuálních proměnných prostředí spusťte následující příkazy:
echo $LANG
echo $LC_ALL
Příklad výstupu (správná nastavení):
ja_JP.UTF-8
ja_JP.UTF-8
Pokud je výstup C nebo POSIX, musíte změnit nastavení locale na ja_JP.UTF-8.
2. Konfigurace písem terminálu
GNOME Terminál (Výchozí terminál)
- Otevřete terminál
- Přejděte na „Předvolby“
- Otevřete „Předvolby profilu“ a přejděte na kartu „Text“
- Povolte „Použít vlastní písmo“ a vyberte jedno 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í znaků v textových editech
1. Konfigurace kódování Vim
Aby zkontrolovali svá aktuální nastavení, otevřete Vim a spusťte:
:set encoding?
:set fileencoding?
Očekávaný výstup:
encoding=utf-8
fileencoding=utf-8
Pokud není nastaveno na utf-8, přidejte následující do svého souboru ~/.vimrc, aby se UTF-8 stalo výchozím:
set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac
2. Konfigurace kódování Nano
Pro změnu výchozího nastavení přidejte následující řádek do ~/.nanorc:
set encoding "utf-8"
3. Konfigurace kódování VSCode
- Klikněte na „Kódování“ v pravém dolním rohu okna VSCode
- Vyberte
UTF-8 - Pokud je potřeba, použijte „Uložit s kódováním“
Pro nastavení UTF-8 jako výchozího kódování přidejte následující do svého souboru settings.json:
"files.encoding": "utf8"
7. Řešení specifických případů
Oprava zkazměného textu v GUI aplikacích
1. Problémy s japonským zobrazením ve Firefoxu a Chromu
Řešení:
- Nainstalujte potřebná písma
sudo apt install -y fonts-noto-cjk fonts-ipafont
- Zkontrolujte nastavení písem prohlížeče
- Firefox:
- Přejděte na
about:preferences, poté otevřete „Písma & Barvy“ → „Pokročilé“ - Změňte „Proporsní“ a „Monospace Písma“ na
Noto Sans CJK JP
- Přejděte na
- Chrome:
- Přejděte na
chrome://settings/fonts - Změňte „Standardní písmo“ a „Monospace písmo“ na
Noto Sans CJK JP
- Přejděte na
2. Oprava zkazměného textu v LibreOffice
Řešení:
- Nainstalujte
fonts-noto-cjkafonts-ipafont - Změňte nastavení písem LibreOffice
- Přejděte na „Nástroje“ → „Možnosti“ → „LibreOffice“ → „Písma“
- Změňte výchozí písmo na
Noto Sans CJK JP
Oprava zkazměného textu v CUI prostředích
1. Problémy se zkazměným textem v SSH relacích
Řešení:
- Zkontrolujte nastavení locale na serveru
locale
- Pokud chybí
ja_JP.UTF-8, spusťte:
sudo apt install -y language-pack-ja
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
8. Často kladené otázky (FAQ)
Otázka 1. Moje locale je nastaveno správně, ale zkazměný text přetrvává.
Odpověď: I když je vaše locale správné, ověřte nastavení:
locale
Pokud se nezobrazí LANG=ja_JP.UTF-8, resetujte locale:
sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales
Otázka 2. Pouze specifické soubory mají zkazměný text.
Odpověď: Soubor může mít jiné kódování. Zkontrolujte pomocí:
file -i sample.txt
Pokud soubor není v UTF-8, převeďte ho:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Nebo pomocí nkf:
nkf -w --overwrite sample.txt
9. Závěr
V tomto článku jsme se zabývali problémy se zkazměným textem v Ubuntu, jejich příčinami a jak je opravit. Primární příčiny zkazměného textu zahrnují nesprávná nastavení locale, chybějící písma, nesoulad v kódování znaků a špatně nakonfigurovaná nastavení terminálu/editors.
Klíčové body
- Nastavte správné locale : Spusťte
update-locale LANG=ja_JP.UTF-8 - Nainstalujte japonská písma : Použijte
sudo apt install -y fonts-noto-cjk fonts-ipafont - Ověřte kódování souboru : Použijte
file -ia převeďte pomocíiconv - Konfigurujte terminál a editory : Zajistěte, aby byla nastavení kódování UTF-8 aplikována
Postupováním těchto kroků můžete vyřešit a zabránit problémům se zkazměným textem v Ubuntu.



