Dakle, imam jedan veliki problem, i pokušavam da ga rešim već dugo ali nikako ne ide.
Radim program koji, između ostalog, čita HTML stranice sa Interneta. Za čitanje koristim
običan InputStreamReader. Kada naiđem na stranicu sa charset-om npr. ISO-8859-1, pre
svakog pročitanog karaktera koji nije iz standardnog ASCII-ja (npr. slova Š, Č, Ć i sl.) mi
se pojavljuje neki čudan karakter, slovo A sa nekom kukom/kvakom gore. Ovaj karakter
se pojavljuje kada se stranica snimi. Zasigurno znam da metod koji čita stranicu NE dodaje
nikakve karaktere kojih nije bilo. Probao sam da konstruktoru InputStreamReader-a prosledim
ime charset-a koji stranica koristi, međutim mrka kapa. Da li neko ima ideju šta bi ovo
moglo biti?
Zeznuto je to malo. Ne znam tačan odgovor ali probaj da pročitaš poglavlje The Java I/O System knjige Thinking in Java. Bavi se i time pa ti možda razjasni neke stvari.
Da, u pravu ste, napisao sam ISO-8859-1 umesto ISO-8859-2 ali to sada i nije tako bitno pošto sam rešio problem :)
Fora je da se kod Jave svi karakteri posmatraju kao Unicode, a svi ostali charset-ovi se moraju
konvertovati. E sada, ja umesto da sam odmah pogledao u Java tutorial sa java.sun.com ne bih
ovde ni postavljao temu ali ajde... Fora je napraviti InputStreamReader sa željenim charset-om
(konstruktor ide nešto ovako InputStreamReader(InputStream in, String charset_name) ), raditi
sa karakterima šta vam volja, i onda, kada treba rezultate zapisati u fajl, napraviti OutputStreamWriter
sa istim charset-om (OutputStreamWriter(OutputStream out, String charset_name) i problem rešen :)