Poprawne kodowanie znakow pobieranych z URL.

0

Witam, mam taki kawałek kodu

public void getHTMLContent(String url) throws IOException
	{
		URL oracle = new URL(url);		
		URLConnection connection = oracle.openConnection();
        BufferedReader in = new BufferedReader(
        new InputStreamReader(connection.getInputStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
            htmlContainer+=inputLine+"\n";
        in.close();
        
	}

i potem parsuje za pomocą RE.

"<section class=\""+SECTION_WEATHER_NAME+"\">([\\w\\W]+?)</section>";

i otrzymuje takie twory => WrocĹ‚aw itp. Nie wiem dokładnie gdzie tu leży problem. Czy w wyrażeniu regularnym czy przy pobieraniu html z URL.

0
skytrack napisał(a):

Witam, mam taki kawałek kodu

public void getHTMLContent(String url) throws IOException
	{
		URL oracle = new URL(url);		
		URLConnection connection = oracle.openConnection();
        BufferedReader in = new BufferedReader(
        new InputStreamReader(connection.getInputStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
            htmlContainer+=inputLine+"\n";
        in.close();
        
	}

i potem parsuje za pomocą RE.

"<section class=\""+SECTION_WEATHER_NAME+"\">([\\w\\W]+?)</section>";

i otrzymuje takie twory => WrocĹ‚aw itp. Nie wiem dokładnie gdzie tu leży problem. Czy w wyrażeniu regularnym czy przy pobieraniu html z URL.

Wydrukuj htmlContainer i zobacz czy jest dobrze zakodowany. Możliwe, że musisz skonwertować stronę kodową pobranej strony z X na (najlepiej) UTF-8.

Poza tym http://stackoverflow.com/a/1732454

0

Hej, poradziłem sobie, w rzeczy samej już po pobraniu był problem z polskimi znakami.

BufferedReader in = new BufferedReader(
        new InputStreamReader(connection.getInputStream(),"UTF-8"));

Pomogło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1