abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 06:00 | Komunita

Projekt Linux Counter (Wayback Machine) definitivně skončil. Linux Counter vznikl v roce 1993 a uživatelé Linuxu mohli sebe a své počítače do projektu registrovat. V roce 2011 byl Linux Counter převeden na novou doménu a kompletně přepsán. Nejenom na AbcLinuxu se ještě před deseti lety řešily žebříčky zemí dle počtu uživatelů Linuxu.

Ladislav Hagara | Komentářů: 1
dnes 01:33 | Nová verze

Společnost Purism informuje, že vývojové desky Librem 5 jsou již odesílány přispěvatelům. Telefony Librem 5 s PureOS respektující bezpečnost, svobodu a soukromí uživatelů by měly být odesílány v dubnu. Aktuálně je lze předobjednat za 599 dolarů. Po 7. lednu za 699 dolarů.

Ladislav Hagara | Komentářů: 1
dnes 00:11 | Nová verze

Byla vydána nová major verze 6.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Přehled novinek v Changelogu. Nově lze například virtuální počítač exportovat do infrastruktury Oracle Cloud.

Ladislav Hagara | Komentářů: 1
včera 17:11 | IT novinky

Společnost Wave Computing představila iniciativu MIPS Open. Architektura MIPS bude k dispozici jako open source.

Ladislav Hagara | Komentářů: 2
včera 16:11 | Nová verze

Pro vývojáře v programovacím jazyce Python: Krátce po vydání multiplatformního frameworku Qt ve verzi 5.12 bylo vydáno také Qt for Python 5.12. Knihovna pro vědecké výpočty v Pythonu SciPy (Wikipedie) byla po šesti měsících vývoje vydána v nové verzi 1.2.0.

Ladislav Hagara | Komentářů: 0
17.12. 22:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Hacking for the Holidays by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 15 elektronických knih věnovaných počítačové bezpečnosti, penetračnímu testování, forenzní analýze nebo kryptografii od nakladatelství No Starch Press. Nákupem lze podpořit organizaci Electronic Frontier Foundation (EFF).

Ladislav Hagara | Komentářů: 0
17.12. 20:11 | Nová verze

Po devíti měsících od vydání verze 5.4 byla vydána verze 5.5 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
17.12. 15:44 | Upozornění

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal varování (pdf) před používáním softwaru i hardwaru společností Huawei Technologies Co., Ltd., a ZTE Corporation. Používání těchto prostředků představuje bezpečnostní hrozbu.

Ladislav Hagara | Komentářů: 51
17.12. 13:33 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 159. brněnský sraz, který proběhne v pátek 21. prosince od 18:00 v restauraci Na blbým místě na adrese Pellicova 5b.

Ladislav Hagara | Komentářů: 2
17.12. 12:55 | Bezpečnostní upozornění

V relačním databázovém systému SQLite (Wikipedie) byla nalezena bezpečnostní chyba pojmenovaná Magellan. Chyba se týká také webových prohlížečů postavených na Chromiu podporujících WebSQL API (POC). Bezpečnostní chyba byla opravena v SQLite 3.26.0 a v Chromiu 71.0.3578.80.

Ladislav Hagara | Komentářů: 1
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (8%)
 (11%)
 (31%)
 (24%)
Celkem 153 hlasů
 Komentářů: 21, poslední dnes 08:32
Rozcestník

Dotaz: Špatně interpretované multibyte znaky

5.3.2005 18:07 Jan Odvárko | skóre: 10
Špatně interpretované multibyte znaky
Přečteno: 242×
Na něco podobného už jsem se tu ptal, ale ukázalo se, že řešení fungovalo jen s locales ISO8859-2, unicode zase zlobí.

Nedávno jsem zjistil, že chyba je někde až nad shellem, protože se to chová divně ve všech shellech. Pokud v jakémkoli shellu napíšu např.:
echo "Něco s háčky a čárkami" >/tmp/out
pak se do souboru /tmp/out onen text skutečně zapíše v UTF-8, ale špatně, protože, jak poznamenal Yeti, se text interpretuje jako by byl v Latin1.

Když v Bashi např. napíšu pár diakritických znaků v příkazové řádce a potom je umažu, pak se mi umaže i část promptu, čili Bash interpretuje každý znak jako byte. Shell sh pracuje se znaky korektně, ale když je zapíšu tak je výsledek stejně špatný.

Moje locales teď jsou:
export LANG=cs_CZ.utf8
export LC_ALL=cs_CZ.utf8
a ve svém .profile volám
unicode_start /usr/share/kbd/consolefonts/lat2-14.psfu.gz
Alespoň potřebuju vědět, kde hledat chybu. Nainstaloval jsem si nejnovější Bash, Readline a SLang, ale nic se nezlepšilo. Shellem to nebude. Já nevím, je snad chyba už při vstupu z klávesnice? Nebo snad volám špatně unicode_start? Nejhorší na tom je, že neexistuje žádná alternativa jako ISO8859-2, dávno jsem odkázaný na unicode.

Díky

Odpovědi

5.3.2005 20:36 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
1.) Zrušit export LC_ALL=cs_CZ.utf8 tímto akorát některé programy zmatete nechat pouze LANG.

2.) Při nahrávání klávesové mapy jste zadal že používáte unicode ? Klávesové mapy nejsou ještě unicode. ( parametr -u při nahrávání kávesové mapy)
5.3.2005 21:02 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
Vyzkoušel jsem obojí, ale pořád se to chová stejně :-(
5.3.2005 21:46 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
No tak nám podrobně popište co přesně děláte křištálové koule fakt nemáme.

Musí být nastaven správně LANG, systém musí mět podporu cs, klávesová mapa se musí použít s příznakem -u, musí se použít unicode font, terminál se musí přepnout do unicode, klávesnice se musí přepnout do unicode. (kbd_mode -u)

Většinu toho by měl udělat /bin/unicode_start který v FC je:
#!/bin/bash
# Enables Unicode processing in the current console.
#
# 1. The input side: the keyboard driver.

# Set the keyboard driver in Unicode mode. (Default is ASCII mode.)
# This really does nothing with the way normal keys are handled in
# the kernel. All it does is:
# - It is necessary for `dumpkeys' in order to not drop U+XXXX
#   entries from the keymaps.
# - It is necessary for `loadkeys' in order to avoid warnings.
# - Unicode characters typed as Alt-x1 ... Alt-xn (where x1,...,xn
#   are digits on the numeric keypad) will be emitted in UTF-8.

kbd_mode -u

# Change the keyboard mapping in such a way that the non-ASCII keys
# produce UTF-8 encoded multibyte sequences, instead of single bytes
# >= 0x80 in a legacy 8-bit encoding.

dumpkeys | loadkeys --unicode

# 2. The output side: the console screen.

# Tell the console output driver that the bytes arriving are UTF-8
# encoded multibyte sequences.

if test -t 1 -a -t 2 ; then
        echo -n -e '\033%G'
fi

# Tell the graphics card how to display Unicode characters not
# contained in the IBM 437 character set (on PCs). The font should
# have a Unicode map attached, or explicitly specified, e.g.,
# by giving `def.uni' as a second argument.

DEFAULT_UNICODE_FONT=latarcyrheb-sun16
# Also drdos8x16 is a good candidate.

case $# in
        2)
                setfont $1 -u $2
                ;;
        1)
                setfont $1
                ;;
        0)
                setfont $DEFAULT_UNICODE_FONT
                ;;
        *)
                echo "usage: unicode_start [font [unicode map]]"
                ;;
esac
PS. Jinak vím že nějakej bash taky blbnul s unicode (z RH9 ? Už nevím) musel se použít upravenej. (mazal znaky špatně)
5.3.2005 22:03 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
No tak nám podrobně popište co přesně děláte křištálové koule fakt nemáme.

Já to popsal jak jsem mohl, víc informací sám nemám, kdybych měl, nemusel bych se ptát.

Zkoušel jsem všechno možné s unicode_start, loadkeys a kbd_mode, ale marně. To že Bash maže znaky špatně není to nejhorší, ale veškerý vstup z klávesnice je právě podle všeho převeden do Latin1. Ale díky za nápad, rozeberu ten skript unicode_start.

5.3.2005 22:37 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
Doufám že se zde nehovoří o konzolích terminálu v X, ale normální textové konzoli v linuxu (alt-F1, F2 atd...).

Přesný postup jsem myslel zavedu font ..... spustim klavesnici...zavedu mapu .....atd.
5.3.2005 22:44 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
a ve svém .profile volám

unicode_start /usr/share/kbd/consolefonts/lat2-14.psfu.gz
To je blbě měl by jste volat přepnutí do unicode hned po startu pro všechny terminály, čili někde v rc.local nebo podobně ještě před loginem.
5.3.2005 22:46 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Špatně interpretované multibyte znaky
A ještě nejsem přesvědčen že ten font co používáte je unicode skuste "latarcyrheb-sun16".

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.