Poprawne kodowanie znakow pobieranych z URL.

Poprawne kodowanie znakow pobieranych z URL.
SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 133
0

Witam, mam taki kawałek kodu

Kopiuj
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.

Kopiuj
"<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.

  • Rejestracja: dni
  • Ostatnio: dni
0
skytrack napisał(a):

Witam, mam taki kawałek kodu

Kopiuj
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.

Kopiuj
"<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

SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 133
0

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

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

Pomogło.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.