Portál AbcLinuxu, 8. května 2024 12:44


Dotaz: pdb kodovani

23.7.2010 13:36 none
pdb kodovani
Přečteno: 1015×
Odpovědět | Admin
Příloha:
Ahoj! Mam trable s kodovanim pdb souboru (mam celou sbirku elektronickych knih). Zkousel jsem si se soubory ruzne hrat a konvertovat kodovani, ale nepodarilo se mi najti spravne tak, aby se zobrazilo v mem mobilnim telefonu (E52) v software MobiReader.

Nejprve prevedu z formatu pdb na txt:
txt2pdbdoc -d George\ Orwell\ -\ 1984.pdb George_Orwell-1984.txt
Pak se podivam na kodovani vysledneho souboru:
file -i George_Orwell-1984.txt
George_Orwell-1984.txt: text/plain; charset=unknown-8bit
Protoze si myslim, ze je to kodovani cp1250 (tedy klasicke windowsovske) prekonvertuju to do utf8:
iconv -f cp1250 -t utf-8 George_Orwell-1984.txt > George_Orwell-1984_utf8.txt
Vysledny soubor je pekne citelny na mem pocitaci a ma deklarovane kodovani:
file -i George_Orwell-1984_utf8.txt
George_Orwell-1984_utf8.txt: text/plain; charset=utf-8
Pri pokusu o prevedeni do kodovani iso8859-2 mi vsak vraci chybu:
iconv -f utf-8 -t iso-8859-2 George_Orwell-1984_utf8.txt > George_Orwell-1984_iso.txt
iconv: illegal input sequence at position 3552
Na teto pozici se nachazi znak dolni uvozovky s kody:
201A    SINGLE LOW-9 QUOTATION MARK
    = low single comma quotation mark
binary 10000000011010
    UTF-8: 0xe2 0x80 0x9a
Pokusim se tedy o transliteraci, coz dopadne dobre:
iconv -f utf-8 -t iso-8859-2//TRANSLIT George_Orwell-1984_utf8.txt > George_Orwell-1984_iso.txt
S tim problemem, ze vysledny soubor je v kodovani iso-8859-1:
file -i George_Orwell-1984_iso.txt George_Orwell-1984_iso.txt: text/plain; charset=iso-8859-1
A tento soubor (a ani zadny z mezikroku) muj telefon nezpracuje. Zkousel jsem prevadet i do cp1250, ale vysledek obdobny. Totez s utf-8.
Pouzity sw/hw:
Linux, Debian Sqeeze,
locale:
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
Telefon: Nokia E52
MobiReader
Nenapada nekoho z vas co s tim? Rad bych si par knizek precetl v mobilu, ale se spatnym kodovanim to neni zrovna pohodlne. Prikladam zdrojovy pdb soubor.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.7.2010 13:56 chrono
Rozbalit Rozbalit vše Re: pdb kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
To, že sa ten textový súbor po transliterácii tvári ako 8859-1 je podľa mňa normálne (pretože všetky "nebezpečné" znaky sú preč, takže je úplne jedno, či sa pri zobrazovaní použije 8859-1 alebo 8859-2).

Základ je asi nájsť kódovanie, ktoré sa v tom programe, čo je v telefóne, bude zobrazovať správne a do toho kódovania potom bude potrebné previesť ten súbor.

PS: A to, že ten telefón ten súbor nespracuje nie je dobrý popis chyby (znamená to, že sa nezobrazí, alebo sú len niektoré znaky chybné...). PPS: Kódovanie toho .pdb súboru je CP1250.
23.7.2010 14:53 none
Rozbalit Rozbalit vše Re: pdb kodovani
Diky za reakci! Dva dny nad tim sedim a nic. Zjistil jsem si, ze nejsem schopen v tom programu zobrazit zadne ze zkousenych kodovani a jal jsem se sehnat jiny software. Dalsi dva pokusy s jinym sw take nezabraly. Nakonec jsem zkusil QReader a ten diky moznosti nastaveni kodovani zobrazuje to co ma (a take tak jak bych ocekaval, tzn. kdyz je soubor utf8, pak staci nastavit utf8 apod.

Takze diky za radu: 'Základ je asi nájsť kódovanie, ktoré sa v tom programe, čo je v telefóne, bude zobrazovať správne a do toho kódovania potom bude potrebné previesť ten súbor.'

Bye.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.