Kodovani souboru

Martin Kuba makub na ics.muni.cz
Středa Leden 14 15:49:01 CET 2004


TomášKonečný wrote:
> Dobry den
> 
> potrebuji zjistit jake je pouzite kodovani vraceneho souboru ze serveru. Podle getConnentType poznam pouze, ze jde o text/html. A pak potrebuji parseru HTMl stranek predat vraceny InputStream a pouzite kodovani.
> 
> K parserovani pouzivam HTMLParser. U JTidy jsem mnel problemy s cestinou, takze ho nepouzivam. Pokud by nekdo vedel jak nastavit JTidy, at mne neprasi cestinu tak bych byl vdecen.

No to neni trivialni problem. Hlavicka Content-Type
muze mit parametr charset, ktery to kodovani urcuje. Takze
pokud je to napr.

Content-Type: text/html;charset=utf-8

tak je to v utf-8. Pokud tam ten parametr neni, tak je to
podle RFC v ISO-8859-1. Jenze pokud je to specialne HTML, tak
muze mit v sobe tag

<html>
  <head>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8">

ktery jakoby pridava dalsi HTTP hlavicku, a proto muze urcovat
kodovani on. Jenze ten text si neprectete, dokud HTML nerozparsujete.

Podobne, pokud je obsahem XML/XHTML, tak uvodni XML preambule

<?xml version="1.0" >

znamena, ze je ten text v utf-8, jakozto defaultnim kodovani XML,
nebo pokud ma atribut encoding="iso-8859-2", tak urcuje kodovani on.

Proste budete muset dokument nejdriv nacist, podle jeho druhu
zjistit, jestli nespecifikuje kodovani sam v sobe, a pokud ano,
rozparsovat ho znovu.

makub
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: makub na ics.muni.cz
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------
------------- další část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3415 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://amaio.cz/pipermail/konference/attachments/20040114/b815c7d7/attachment.bin>


Další informace o konferenci Konference