Mi-ai fost de mare ajutor - mulțumesc!

Pe sistemul pe care încercam am locale setat la "C":

LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

Pe un alt sistem pe care am:
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=POSIX
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

iconv se comportă normal și îmi scoate diacriticele din text. Am presupus
că iconv nu o să mai țină cont de locale-ul din consolă, de vreme ce îi
specific input și output encoding...
Acum mai rămâne să văd de unde îmi modific locale-ul pe Ubuntul ăsta.

Mulțumesc tuturor!


2016-06-14 13:46 GMT+03:00 Ionel Mugurel Ciobîcă <[email protected]>:

> 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
>
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui