Пытаюсь вычитать нужную мне инфу с украинского сайта. Но никак не выходит вывести кириллицу в нормальном виде. Может я как-то не так декодирую?
| Код | package MPs;
import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL;
public class MPs { public void startParsing(String Url, String Tag, boolean showResult) { HttpURLConnection connection = null; BufferedReader rd= null; StringBuilder sb = null; String line = null; URL serverAddress = null; boolean successParse = false; String levelUpUrl = Url.substring(0, Url.lastIndexOf("/")); try { serverAddress = new URL(Url); connection = null; connection = (HttpURLConnection)serverAddress.openConnection(); connection.setDoOutput(true); connection.setReadTimeout(10000); connection.setRequestProperty("Content-type", "text/html;charset=windows-1251"); //пытался в хедер впихнуть кодировку connection.connect(); rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); sb = new StringBuilder(); while ((line = rd.readLine()) != null) { if(line.startsWith(Tag)) { if(showResult) { String a = "�� �����"; // это пример той строчки, которая у меня вычитывается ByteArrayOutputStream baos = new ByteArrayOutputStream(); baos.write(line.getBytes()); System.out.println("After -> " + baos.toString("Cp866")); System.out.println("After -> " + baos.toString("windows-1252")); System.out.println("After -> " + baos.toString("windows-1251")); System.out.println("After -> " + baos.toString("Cyrillic")); System.out.println("After -> " + baos.toString("ISO-8859-1")); System.out.println("After -> " + baos.toString("UTF-16")); System.out.println("After -> " + baos.toString("US-ASCII")); System.out.println("After -> " + baos.toString("UTF-16BE")); System.out.println("After -> " + baos.toString("UTF-16LE")); System.out.println("After -> " + baos.toString("UTF-32")); line = line.substring(line.lastIndexOf("\">")+2, line.lastIndexOf("</a>")); System.out.println(line + ", "); successParse = true; } else { line = levelUpUrl + "/p_deputat" + line.substring(line.lastIndexOf("?"), line.lastIndexOf("\"")); new MPs().startParsing(line, "��. �����:", true); } } } if(!successParse) { System.out.println(Url); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { connection.disconnect(); rd = null; sb = null; connection = null; } } }
|
В консоль выводит всё что угодно, кроме того что мне надо.
| Цитата | After -> я┐╜я┐╜. я┐╜я┐╜я┐╜я┐╜я┐╜: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> ��. �����: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> пїЅпїЅ. пїЅпїЅпїЅпїЅпїЅ: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> яПНяПН. яПНяПНяПНяПНяПН: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> ��. �����: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> 뷯뾽⸠뷯뾽뷯뾽봺‼摩瘠捬慳猽≴潰呩瑬攢瑹汥㴢摩獰污示湬楮攢㸼愠桲敦㴢浡楬瑯㩁扤畬汩渮佬敫獡湤牀牡摡潶愢㹁扤畬汩渮佬敫獡湤牀牡摡潶愼⽡㸼⽤楶㸼扲� After -> ������. ���������������: <div class="topTitle" style="display: inline"><a href="mailto:Abdullin.Oleksandr@rada.gov.ua">Abdullin.Oleksandr@rada.gov.ua</a></div><br> After -> 뷯뾽⸠뷯뾽뷯뾽봺‼摩瘠捬慳猽≴潰呩瑬攢瑹汥㴢摩獰污示湬楮攢㸼愠桲敦㴢浡楬瑯㩁扤畬汩渮佬敫獡湤牀牡摡潶愢㹁扤畬汩渮佬敫獡湤牀牡摡潶愼⽡㸼⽤楶㸼扲� After -> 뿯붿뿯붿뿯붿뿯㪽㰠楤⁶汣獡㵳琢灯楔汴≥猠祴敬∽楤灳慬㩹椠汮湩≥㰾牨晥∽慭汩潴䄺摢汵楬汏步慳摮䁲慲慤朮癯甮≡䄾摢汵楬汏步慳摮䁲慲慤朮癯甮㱡愯㰾搯癩㰾牢� After -> �����������������������������������������
|
|