Perl GTk2 karakterkódolás

Fórumok

Hali!

Valahogy gatyába kellene ráznom egy Perl-Gtk2-ben írt progi karakterkezelését. Lenny alatt futtatnám, a def. kar. kódolás utf-8. A progi egy postgres adatbázis adataival dolgozik.
Ha a forrás utf-8-ban van kódolva, az ékezetes betűs feliratok elsz@ródnak, ha iso8859-2-ben akkor ok.
Viszont adatbevitelkor az ékezetes betűk rendben lévőnek tűnnek, terminálban psql-be közvetlen belépéssel szintén ok, viszont a Gtk2-ben kiírva nem stimmelnek.
A Perl-Gtk2 FAQ szerint alapból utf-8- ban kódol minden szöveget, nálam mégis olybá tűnik, mintha iso-t használna, amit esetleg a psql átkódol utf-8-ra tárolás előtt, és így is adja vissza, osz't nálam meg jönnek a krix-kraxok.

Tudja valaki, hol lehet a karakterkódolást beállítani (akár Gtk2, akár psql)?

Hozzászólások

A postgres dbi modulnak van egy pg_enable_utf8 nevu kapcsoloja, ezt mindenkepp allitsd 1-re.

Ez melyik fájlban van?
Mondjuk én a libdbi-perl helyett a libdbd-pg-perl könyvtárat használom.
Amúgy ugyanennek a programnak a terminálkimenetére küldve a Gtk felületen problémás ékezetes szövegeket, gond nélkül megjelennek.
Kipróbáltam a terminált is, cat utf8kodoltfile OK, cat isokodoltfile ékezetek elszúrva.
Gondolom itt a Perl-Gtk2-t kell hackelni valahogy...

Megoldottam, hátha mást is érdekel:

use utf8; :a problémát nem oldja meg, viszont a forrásfájl a továbbiakban utf8 kódolású lehet.

use Encode;
A megjelenítendő adatot, mielőtt a Gtk2 elemnek átadnám) az alábbi utasítással konvertálom:
$kiirando=decode("utf-8",$ertek);

Ahogy olvastam ezután a $kiirando változó utf-8 jelzést kap, így abban a továbbiakban az ékezetes betűket nem byte-párként, hanem egy karakterként kezeli.