Bonjour,

je souhaite récupérer le contenu d'une page web pour le mettre dans un String.
Voici une méthode que j'ai trouvé sur internet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
         * Méthode permettant d'aspirer le contenu d'un site.
         * 
         * @param url url du site
         * @return contenu sous forme de chaines de caractères.
         */
	private static String getData(URL url) { 
		// La fonction pour récupérer le code source de la page...
		URLConnection conn = null;
		InputStreamReader in;
		BufferedReader data;
		String line;
		StringBuffer buf = new StringBuffer();
		try {
			conn = url.openConnection();
			conn.connect();
			in = new InputStreamReader(conn.getInputStream());
			data = new BufferedReader(in);
			while ((line = data.readLine()) != null)
				buf.append(line + "\n");
 
			return buf.toString();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}
Si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
URL http = new URL("http://www.lequipe.fr/");
 
		String fluxHtml = getData(http);
		System.out.println("page web : " + fluxHtml);
le contenu de la page web s'affiche bien.

Par contre, avec l'URL http://fr.wikipedia.org/wiki/Commune...a_Haute-Vienne, tous les caractères sont encodés bizzarement.
Voici le contenu de ma console (cf. capture d'écran http://www.servimg.com/image_preview.php?i=6&u=12014371) alors que via mon navigateur, j'obtiens un contenu de page commençant par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta http-equiv="Content-Style-Type" content="text/css" />
		<meta name="generator" content="MediaWiki 1.15alpha" />
		<meta name="keywords" content="Communes de la Haute-Vienne,Limousin,Haute-Vienne,Communes de France,2003,2004,Aixe-sur-Vienne,Ambazac,Anciennes communes de la Haute-Vienne,Arnac-la-Poste,Augne" />
		<link rel="alternate" type="application/x-wiki" title="Modifier" href="/w/index.php?title=Communes_de_la_Haute-Vienne&amp;action=edit" />
		<link rel="edit" title="Modifier" href="/w/index.php?title=Communes_de_la_Haute-Vienne&amp;action=edit" />
		<link rel="apple-touch-icon" href="http://fr.wikipedia.org/apple-touch-icon.png" />
Sur d'autres pages, seuls les accents sont mal encodés.
Comment puis-je faire pour récupérer le contenu HTML comme les navigateurs en étant bien interprété ????

Comment puis-je intervenir sur l'encodage ?
Y-a-t-il une solution à mon problème ?

Merci,
F.