[ misa vranje @ 07.02.2005. 01:06 ] @
Kako da iz nekog stringa koji je u unicodu zamenim odredjene karaktere sa odgovarajucim u asciiju po sledecem sablonu:
čć => c
ž => z
š => s
đ => dj

Zamena treba da se izvrsi i za velika i za mala slova.Pretpostavljam da ide neki regularni izraz i neki odredjeni modul koji treba ukljuciti ali bih voleo da znam kako otprilike ide rad sa unicodom.Da li linuxova konzola ili command prompt moze da ispise unicode karaktere ili mora da se upotrebljava Tk?Tk moze da radi sa unicodom jel tako?
[ VRider @ 07.02.2005. 07:19 ] @
perldoc -f tr
UXTerm podrzava unicode.
[ misa vranje @ 07.02.2005. 19:06 ] @
Ma jasno je meni za sta sluzi tr/// nego sam mislio da perl ne podrzava unicode dok mu se ne ukljuci neki modul posto kada treba da mi odstampa slova čćžšđ on odstampa nesto sasvim bezveze npr. slova ae kao spojene.Zato sam mislio da mozda unicode ne podrzava konzola posto jos nisam koristio unicode u Tk.Da li mozda ja nesto gresim?
[ VRider @ 08.02.2005. 07:14 ] @
Tvoja konzola ne podrzava unicode.
[ misa vranje @ 10.02.2005. 00:44 ] @
Probaj ovaj skript da izvrsis kod tebe pa mi kazi kako stampa slovo ć.
Evo ti slike mog desktopa iz linuxa a i iz windowsa.
Prva slika ti pokazuje terminal koji standardno ide uz KDE(ovo je verzija 3.2) i on treba da ima podrsku za unicode jel tako?Kada kucam unicode karaktere u njemu(šđžčć) on ispisuje '?'
umesto karaktere.Ostali terminali ne ispisuju bash nista.Vidis kako stampa slovo ć.

Druga slika je command prompt koji kada mu se ukucavaju unicode karakteri ispisuje c umesto čć i z umesto ž i s umesto š.
Isto ispisuje izlaz ovog skripta kao i linux.

Prost program u koji je napisan u Tk ispisuje problematicne unicode karaktere pogresno dok mu se ne ukljuci pragma utf8 koja ne znam cemu konkretno sluzi ali ne resava probleme sa konzolom.

Mislim da unicode karaktere ne unosim pogresno jer se oni sasvim lepo ispisuju u notepadu ili kwriteu.
Gde gresim?
Kako da slova ćčđžš pretvorim u odgovarajuca(naveo sam na pocetku teme)?
[ misa vranje @ 11.02.2005. 16:39 ] @
U prethodnom "odgovoru" koji sam dao rekao(napisao) sam da isprobas ovaj skript a nisam ga naveo.Izvinjavam se.Evo prostog skripta:

use LWP::Simple;
$site=get('http://www.krstarica.com/recnik/srpsko-engleski/index.php?u=kuca');
@site=split(/\n/,$site);
$_=join("\n",@site[140..145])."\n";
print

Kako da iz nekog FAJLA procitam unicode znake?
Kada vrsim zamenu unicode karaktera sa tr/čćžš/cczs/
i s/đ/dj/g u stringu koji sam uneo u toku programa
nema problema ali kada se ocitava taj string iz fajla
onda dolazi do greske tj. nema zamene unicode kraktera
posto ih program ne tretira kao takve.Valjda treba da
se koristi funkcija unpack ali kako?
Ako ne ukljucim pragmu use utf8 onda nece da izvrsi zamenu
uopste.Ako pokusam da ispisem te karaktere iz fajla nece
dok ne ukljucim pragmu use encode 'utf8';

[Ovu poruku je menjao misa vranje dana 11.02.2005. u 21:51 GMT+1]
[ bzero @ 11.02.2005. 18:22 ] @
Citat:

use LWP::Simple;
$site=get('http://www.krstarica.com/recnik/srpsko-engleski/index.php?u=kuca');
@site=split(/\n/,$site);
$_=join("\n",@site[140..145])."\n";
print


Nevezano za problem samog ispisa utf karaktera na konzoli, gornji primer nece raditi kako treba zato sto je na krstarici kodni raspored windows-1250. Moraces prvo da konvertujes to sto si dobio iz windows-1250 u utf-8.
Pogledaj Text::Iconv modul:
http://search.cpan.org/dist/Text-Iconv/Iconv.pm
[ misa vranje @ 13.02.2005. 02:15 ] @
Verovali ili ne ovo resava problem:
tr/ćžilj/zccs/;
s/r/dj/g

iako su slova cudna ona predstavljaju nasa LATINICNA slova(u windows-1250 kodnom rasporedu) koja su meni problematicna i nalaze se u ascii tabeli(ne unicode).Ne treba apsolutno nikakav modul da se uvozi.

U ovom slucaju ovo ne koristi:
tr/šžčć/szcc/;
s/đ/dj/g

jer karakteri nisu predstavljeni kao unicode(to je vec rekao bzero).
[ kiko323 @ 31.12.2005. 01:05 ] @
Ima li tko pocetnicke tutoriale za ASCII?