On 14-06-2016, at 11h 09'18", Adrian Popa wrote about "Re: [rlug] Transliterate - înlocuire diacritice cu echivalentul ASCII" > Mulțumesc pentru ajutor, > > $ cat 'Claus von Stauffenberg' | html2text -utf8 > /tmp/c.txt > $ file /tmp/c.txt > /tmp/c.txt: UTF-8 Unicode text > $ iconv -f UTF-8 -t US-ASCII//TRANSLIT /tmp/c.txt > /tmp/d.txt > $ file /tmp/d.txt > /tmp/d.txt: ASCII text > > Doar că rezultatul are semne de întrebare în loc de literele > transliterate... Am încercat și iso8859-x, dar rezultatul e același (nu > moare la conversie, dar scoate semne de întrebare sau caractere > neconvertite). > > Dacă mai aveți idei, ascult... >
Dacă mă uit la fișierele /tmp/c.txt și /tmp/d.txt văd că c.txt este OK, doar că are o săgeată sus la Note, între 1. și Genealogia_conților. Într-adevăr după conversia la ascii, acolo unde era săgeata văd acum un semn de întrebare. Restul trece OK. Săgeata nu trece pentru că nu este definită în (LC_CTYPE din) locale. Și în fond în ce ai vrea să o schimbi? În |^ sau ^|? Dacă ai mai multe semne de întrebare în d.txt, dă un output la comanda locale și vezi ce ai la LC_CTYPE. Apoi caută în /usr/share/i18n/locales/ (sau unde ai tu localele) ce este în fișierul respectiv la LC_CTYPE. De multe ori este un copy de la alt locale, etc. Urmărește pînă dai de care trebuie și vezi ce ai greșit acolo... Dacă te joci cu iconv -f UTF-8 -t iso8859-16 /tmp/c.txt > /tmp/e.txt găsești toate caracterele neromânești. De exemplu ai un en dash între Bavaria și d. 21_iulie 1944, săgeata aia, încă un en dash la între November 1907 și 20. Juli 1944, și ultimul între Bayern2Radio_ și radioWissen. Ghilimelele nemțești/românești „“ se transformă în ,,". Dacă le vrei altfel trebuie să le redefinești tu. Dacă modifici fișiere în /usr/share/i18n/locales/ trebuie să (re)rulezi /usr/sbin/locale-gen. Mugurel _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
