Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: rimidalv 19 Prosince 2017, 16:36:14

Název: Zmršená diakritika v textu (UTF-8)
Přispěvatel: rimidalv 19 Prosince 2017, 16:36:14
Z webové stránky (chybné) jsem stáhl následující text.
Gambit Jihlava - Sokol T�bor�� 4 1/2 - 3 1/2aneb "Houstone, m�me probl�m"
Situace na�eho �?ka nebyla po t?ech kolech z�vid?n�hodn�, tak�e jsem jeli do Jihlavy s jedin�m c�lem ... "urvat" t?i body, kter� by n�s dostaly "mezi lid". Gambit Jihlava m� mlad� nad?jn� t�m, kter� prost? hraje, ?ili ��dn� bezduch� rem�zy, n�br� bojovn� partie do poseldn�ch n�boj?. Tak jsem to dnes o?ek�val a tak se i stalo. Jedin� rem�za a sedm rezultativn�ch v�sledk?.l

Pomocí příkazu v terminálu zjišťuji, že text je v UTF-8, což nemusí být pravda
Jak to tedy opravit ten konkrétní text, respektive zjistit v jakém kǒdu je původní text, to právě nemohu najít.
Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: juwa2 19 Prosince 2017, 17:20:32
1. Text je v UTF-8
2. Aby se znaky zobrazovaly správně, je do něj třeba přidat tzv. BOM (neboli signaturu)
3. Většina txt editorů zobrazuje formát ve stavovém řádku.
--------------------------------------------------
Takže otevřít v textovém editoru > konvertovat do UTF-8 BOM > uložit.
Nebo lze BOM (signaturu) přidat do souboru příkazem:
Kód: [Vybrat]
sed -i.bak '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' /cesta/k/souboru.txtSkript nejprve testuje, zda je či není BOM přítomen.
Vytvoří zálohu pův. souboru. Pokud zálohu nepožadujeme, odstraníme ".bak"
Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: rimidalv 20 Prosince 2017, 08:15:04
Bohužel nic se nezdařilo.
Pomocí textového editoru (SciTE)  se nic nezmění a ani pomocí příkazu do terminálu viz:

rimidalv@rimidalv-K55VJ:~/Plocha$ sed -i'1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' pokus.txt
sed: -e výraz č. 1, znak 2: nadbytečné znaky po příkazu
rimidalv@rimidalv-K55VJ:~/Plocha$


Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: juwa2 20 Prosince 2017, 10:44:33
1. Ten příkaz jsi zadal/zkopíroval špatně - máš tam chybu v syntaxi, příkazy je třeby zadávat přesně, každá mezera nebo naopak chybějící znak příkaz úplně mění...
Kód: [Vybrat]
sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' pokus.txt2. Pokud je soubor poškozený/mimo veškeré normy tak mu nepomůže nic.
3. Můžeš ho zkusit dát sem jako přílohu a já se na něj "podívám".
Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: rimidalv 20 Prosince 2017, 17:55:25
Nejde to opravit viz:
rimidalv@rimidalv-K55VJ:~/Plocha$ sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' pokus.txt
sed: pokus.txt nelze číst: Adresář nebo soubor neexistuje
rimidalv@rimidalv-K55VJ:~/Plocha$

Zmršená diakritika je v tom mém prvním příspěvku (v ukázce) a na webu:    http://www.sokolta.cz/ 
Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: juwa2 21 Prosince 2017, 00:10:14
Nejde to opravit viz:
rimidalv@rimidalv-K55VJ:~/Plocha$ sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' pokus.txt
sed: pokus.txt nelze číst: Adresář nebo soubor neexistuje
rimidalv@rimidalv-K55VJ:~/Plocha$

Zmršená diakritika je v tom mém prvním příspěvku (v ukázce) a na webu:    http://www.sokolta.cz/
Ten text ale nemůžeš jen tak zkopírovat myší z té stránky, musíš ho vytáhnout ze zdrojáku...
Kódování je ISO-8859-1 (=západoevropské), takže pokud v něm někdo vložil na tu stránku text s českou diakritikou, dopadlo to jak vidíš sám. A "zpětně" to nijak opravit nejde.

Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: rimidalv 21 Prosince 2017, 08:06:33
Díky za vysvětlení, ale ještě jednu otázku bych měl.
 Někdo vložil text s ISO-8859-1 (což se asi stalo ) tak se zmršila diakritika u tohoto konkrétního textu, ale proč u všech textů této stránky?
Název: Re:Zmršená diakritika v textu (UTF-8)
Přispěvatel: juwa2 21 Prosince 2017, 11:19:54
Díky za vysvětlení, ale ještě jednu otázku bych měl.
 Někdo vložil text s ISO-8859-1 (což se asi stalo ) tak se zmršila diakritika u tohoto konkrétního textu, ale proč u všech textů této stránky?
Protože ke tvorbě této stránky byl použit nějaký nástroj který CZ kódování nepodporuje.  Tyto nástroje zpravidla pocházejí od anglicky mluvících autorů a tudíž je pochopitelné, že je nějaká čeština a další pro ně exotické jazyky netrápí - jejich podporu neřeší..  Chybou ale je, že si to tvůrce stránek neohlídal.