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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Diakritika - nahrazeni  (Přečteno 3909 krát)

LorD_OniX

  • Návštěvník
  • Příspěvků: 50
Diakritika - nahrazeni
« kdy: 19 Ledna 2010, 18:37:20 »
Ahoj, potreboval bych poradit s jednou veci, kterou nemuzu vyresit. Mam nejake text v kodovani ISO-8859-1 a potreboval bych obecne nejakou radu, jak jakykoliv text prevest do cestiny bez diakritiky. Zkousel jsem program v cecku na nacitani ze standartniho vstupu, ale pri porovnani na treba š, to nikdo nefungovalo a obdobne jsem zkousel vytvorit skript v pythonu, ale taky jsem se nedockal uspechu. Vite nekdo nejaky zaruceny postup, jak si s timto poradit ?

Tohle je cast toho kodu v pythonu:
Kód: [Vybrat]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

for char in sys.stdin.read():
if unicode(char, 'ISO-8859-1') == unicode('š', 'utf-8'):
sys.stdout.write('s')
else:
sys.stdout.write(char)

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: Diakritika - nahrazeni
« Odpověď #1 kdy: 19 Ledna 2010, 19:43:46 »
http://www.bigwebmaster.com/General/Howtos/Slovak-HOWTO/tricks.html

alebo v jave, alebo aj v tom c, len stale musis vediet v com je zdroj kodovany.

java:
http://www.macroware.cz/software/unicode/
Kód: [Vybrat]
System.out.println(Normalizer.normalize("žluťoučký", Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]",""));
« Poslední změna: 19 Ledna 2010, 19:47:19 od petergula »
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

starenka

  • Stálý člen
  • **
  • Příspěvků: 1276
  • Karma: plynová [zapalovač] [hasičák]
    • /home/starenka
Re: Diakritika - nahrazeni
« Odpověď #2 kdy: 19 Ledna 2010, 20:00:46 »
Kód: [Vybrat]
starenka@kosmik1:/junk$ echo 'šřščřščřč' | iconv  -f utf-8 -t ascii//TRANSLIT
srscrscrc

utf si nahrad za co chces
« Poslední změna: 19 Ledna 2010, 20:02:32 od starenka »
mojenka | blozinek v2 | starej blozinek | krotim hady za penize | UJ! Kalužátor

Debian testing vrní v Thinkpadu X200/bedně/EEE 900a, MasoX Tiger v lampe

LorD_OniX

  • Návštěvník
  • Příspěvků: 50
Re: Diakritika - nahrazeni
« Odpověď #3 kdy: 19 Ledna 2010, 22:03:58 »
Diky, hnedka to vyzkousim

starenka

  • Stálý člen
  • **
  • Příspěvků: 1276
  • Karma: plynová [zapalovač] [hasičák]
    • /home/starenka
Re: Diakritika - nahrazeni
« Odpověď #4 kdy: 19 Ledna 2010, 23:22:34 »
ok?
mojenka | blozinek v2 | starej blozinek | krotim hady za penize | UJ! Kalužátor

Debian testing vrní v Thinkpadu X200/bedně/EEE 900a, MasoX Tiger v lampe

LorD_OniX

  • Návštěvník
  • Příspěvků: 50
Re: Diakritika - nahrazeni
« Odpověď #5 kdy: 21 Ledna 2010, 09:46:18 »
Ahoj, nemohl jsem tedka odepisovat, byl jsem dva dny pryc.

Zkousel jsem nasledujici:
Kód: [Vybrat]
cat 201\ Garage\ Sale.CZ.srt | iconv  -f iso-8859-1 -t ascii//TRANSLIT > out

A ve vyslednem souboru out se objevili misto bez diakritickych znaku otazniky:
Kód: [Vybrat]
12
00:00:52,813 --> 00:00:56,010
Dob?e.

13
00:00:56,083 --> 00:01:00,213
- Tak?e, Laurie, co ma? dnes v dennim planu?
- V dennim planu?

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: Diakritika - nahrazeni
« Odpověď #6 kdy: 21 Ledna 2010, 10:01:47 »
Zkousel jsem nasledujici:
Kód: [Vybrat]
cat 201\ Garage\ Sale.CZ.srt | iconv  -f iso-8859-1 -t ascii//TRANSLIT > out

A ve vyslednem souboru out se objevili misto bez diakritickych znaku otazniky:

a nebude to tym, ze kodovanie iso-8859-1 ziadne ceske znaky nema, cize to kde si mal cesky znak pochopilo ako neznami znak otaznik. Do toho -f musis zadat v akom kodovani mas ten zdrojovy subor.

http://www.manpagez.com/man/1/iconv/
Citace
-f encoding, --from-code=encoding
              Specifies the encoding of the input.
-t encoding, --to-code=encoding
              Specifies the encoding of the output.
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

LorD_OniX

  • Návštěvník
  • Příspěvků: 50
Re: Diakritika - nahrazeni
« Odpověď #7 kdy: 21 Ledna 2010, 10:12:07 »
Jak jsem se dival, tak vim ze je to vstupni formatovani. To iso-8859-1 jsem si precetl z Geany, kde se v dolni liste pise kodovani. Bohuzel to na toto vubec nefungovalo, ale pomohlo to predelat na windows-1250, tak jsem trochu zmateny, proc Geany ukazovalo jine kodovani nez ve skutecnosti.

LorD_OniX

  • Návštěvník
  • Příspěvků: 50
Re: Diakritika - nahrazeni
« Odpověď #8 kdy: 21 Ledna 2010, 10:12:49 »
Diky moc vsem za odpovedi, hodne jste mne pomohli :)

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: Diakritika - nahrazeni
« Odpověď #9 kdy: 21 Ledna 2010, 10:59:35 »
Jak jsem se dival, tak vim ze je to vstupni formatovani. To iso-8859-1 jsem si precetl z Geany, kde se v dolni liste pise kodovani. Bohuzel to na toto vubec nefungovalo, ale pomohlo to predelat na windows-1250, tak jsem trochu zmateny, proc Geany ukazovalo jine kodovani nez ve skutecnosti.
ziadny program nevie z hlavy urcit, ake kodovanie je v subore, niektore programy sa o to pokusaju viac, ci menej uspesne(ja mam rad tie co sa o to vobec nesnazia). Najvacsi "odpornik" je napr. ms windows notepad, ktory vo windows xp spocita znaky v subore, spocita znaky z isteho rozsahu(tam kde sa zvyknu nachadzat znaky s diakritikou) a ak je pomer v nejakom rozsahu urci, ze je to dos 852, inak win1250 a v niektorych pripadoch utf-8. Takto sa choval aspon nam, pri testoch, niekedy 5rokov dozadu. Jasne ze sa nezmienujem o uvodnom byte, kde ma zaznacene, ze subor je v utf-8 a tam to celkom fungovalo :).
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

 

Provoz zaštiťuje spolek OpenAlt.