Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

printf problem z formatowaniem utf8 and iso-8859-2

12 views
Skip to first unread message

yoa...@gmail.com

unread,
Sep 12, 2013, 5:23:38 AM9/12/13
to
Zaczytuje dane zakodowane w iso do skryptu .Robie jakieś działania na stingach
poprzedzone decode("iso-8859-2",$string_wczytany) np tr, następnie wyjscie na stdout na ekran z locale ustawionymi na utf8_PL poprzez encode("utf8","string_wczytane_po_tr").

Efekt jest taki że mam na stdout:
np:
Ala ma kota :text
ala śćę :text
przy formatowaniu printf "%-20.20s:%s,$string_po_encode,"text"";

Problem jest taki, że kolumny są nie wyrówane do 20 znaków.znak ":" pływa.
Jeśli encode zmienie na iso to znak ":" nie pływa a pojawiają się krzaki.

Czy to da się jakoś ogarnać by był ładni kolunowo wypluty printf.

Andrzej A. Filip

unread,
Sep 12, 2013, 5:45:09 AM9/12/13
to
yoa...@gmail.com pisze:
Próbowałeś ustawić kodowanie utf-8 dla STDOUT?
binmode(STDOUT,':utf8');

--
Andrzej A. Filip
Jajka znajdziesz tylko w brudnym kurniku.
-- Przysłowie arabskie
Message has been deleted

Artur Miś

unread,
Sep 13, 2013, 6:20:43 AM9/13/13
to
W dniu czwartek, 12 września 2013 11:45:09 UTC+2 użytkownik Andrzej A. Filip napisał:
> yoa...@gmail.com pisze:
>
> > Zaczytuje dane zakodowane w iso do skryptu .Robie jakieś działania na stingach
>
> > poprzedzone decode("iso-8859-2",$string_wczytany) np tr, następnie wyjscie na stdout na ekran z locale ustawionymi na utf8_PL poprzez encode("utf8","string_wczytane_po_tr").
>
> >
>
> > Efekt jest taki że mam na stdout:
>
> > np:
>
> > Ala ma kota :text
>
> > ala śćę :text
>
> > przy formatowaniu printf "%-20.20s:%s,$string_po_encode,"text"";
>
> >
>
> > Problem jest taki, że kolumny są nie wyrówane do 20 znaków.znak ":" pływa.
>
> > Jeśli encode zmienie na iso to znak ":" nie pływa a pojawiają się krzaki.
>
> >
>
> > Czy to da się jakoś ogarnać by był ładni kolunowo wypluty printf.
>
>
>
> Próbowałeś ustawić kodowanie utf-8 dla STDOUT?
>
> binmode(STDOUT,':utf8');
>

Działa dziękuje. Nie rozumiem tylko czemu via encode nie działa skoro to też koduje na byte stringa w utf8.

0 new messages