Caracteres Esquisitos

4 respostas
R

Olá !

Testando o seguinte código:

try {
    // Create a URL for the desired page
    URL url = new URL("http://www.iol.pt");

    // Read all the text returned by the server
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    String str;
    while ((str = in.readLine()) != null) {
    	System.out.println(str);
    }
    in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}

estou a ter problemas com caracteres esquisitos, em Português.

Por exemplo: Em vez da palavra Informação, recebo informação

Como resolver este problema ? A que se deve ?

Obrigado,
Melhores Cumprimentos,
Pedro Martins
Portugal

4 Respostas

danieldestro

Isso se deve ao fato do output padrão não suportar esses caracteres, pelo Java.

Acho que tem uma maneira de arrumar isso com o char-set. ACHO!

cv1

:arrow: http://www.guj.com.br/forum/viewtopic.php?t=11166

T

Esse “lixo” é UTF-8 que você está tentando mostrar na codificação normal do Windows (ISO-8859-1). Provavelmente o site www.iol.pt está enviando dados em UTF-8 porque foi construído usando Java (estou “chutando”).

Olhando o Javadoc:

InputStreamReader(InputStream in, String charsetName)
Create an InputStreamReader that uses the named charset.

Veja se pondo

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));

o seu problema melhora um pouco.

R

Olá !

Obrigado Thingol, o problema era mesmo esse.

Obrigado também aos restantes elementos que de uma forma ou de outra me ajudaram a resolver o problema.

Abraços,
Pedro Martins
Portugal

Criado 13 de setembro de 2004
Ultima resposta 14 de set. de 2004
Respostas 4
Participantes 4