Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
World of Warcraft

Novinky: Děkujeme všem návštěvníkům fóra, kteří ochotně radí ostatním. Vaše práce je velmi potřebná a vážíme si jí.

Autor Téma: Zmršená diakritika v textu (UTF-8)  (Přečteno 622 krát)

rimidalv

  • Člen
  • **
  • Příspěvků: 313
  • Karma: +8/-3
    • Zobrazit profil
Zmršená diakritika v textu (UTF-8)
« kdy: 19 Prosinec 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.

juwa2

  • Závislák
  • ****
  • Příspěvků: 1811
  • Karma: +125/-34
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #1 kdy: 19 Prosinec 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"

rimidalv

  • Člen
  • **
  • Příspěvků: 313
  • Karma: +8/-3
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #2 kdy: 20 Prosinec 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$



juwa2

  • Závislák
  • ****
  • Příspěvků: 1811
  • Karma: +125/-34
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #3 kdy: 20 Prosinec 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".
« Poslední změna: 20 Prosinec 2017, 10:53:05 od juwa2 »

rimidalv

  • Člen
  • **
  • Příspěvků: 313
  • Karma: +8/-3
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #4 kdy: 20 Prosinec 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/ 

juwa2

  • Závislák
  • ****
  • Příspěvků: 1811
  • Karma: +125/-34
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #5 kdy: 21 Prosinec 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.

« Poslední změna: 21 Prosinec 2017, 00:23:01 od juwa2 »

rimidalv

  • Člen
  • **
  • Příspěvků: 313
  • Karma: +8/-3
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #6 kdy: 21 Prosinec 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?

juwa2

  • Závislák
  • ****
  • Příspěvků: 1811
  • Karma: +125/-34
    • Zobrazit profil
Re:Zmršená diakritika v textu (UTF-8)
« Odpověď #7 kdy: 21 Prosinec 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.