Bonjour,
Je souhaite lire une page web encoder en utf-8 et récolter sur cette dernière les informations souhaitées. Sur windows, c’est sur cet os que j’ai développé, cela fonctionne parfaitement par contre j’ai testé sur mac et là notamment les é sont sucrés, pas sympa du tout !
J’effectue l’opération de lecture de la page web de la manière suivante :
ensuite je cherche l’information souhaitée (mot) dans pageRetourne.
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 URLConnection conn = url.openConnection(); conn.setDoOutput(true); InputStreamReader iSRpageWeb = new InputStreamReader(conn.getInputStream(), "UTF-8"); javax.swing.JOptionPane.showMessageDialog(null,"getContentEncoding : " + conn.getContentEncoding()); //lecture de la réponse reader = new BufferedReader(iSRpageWeb); String ligne = ""; while ((ligne = reader.readLine()) != null) { pageRetourneParMorphalou.append(ligne); javax.swing.JOptionPane.showMessageDialog(null,"ligne : " + ligne); }
Et si les mots n’ont pas de caractères spéciaux ils se trouvent bien dans pageRetourne et peux les extraire. Par contre s’il en a avec par exemple prénom (je sais que la page web contient ce mot) il n’existe pas dans pageRetourne, mais je trouve prnom !
Ce que j’ai fait :
1)Dans le head du code de la page Web il est écrit :charset=utf-8
2)Dans Windows Internet Explorer, le codage indiqué est Unicode (UTF-8)
3)Par contre, conn.getContentEncoding() est égale à null
4)En affichant la ligne, j’ai été surpris que pour prénom on trouve prnom et que le é ne soit pas remplacé par un caractère bizarre comme attendu s’il y a un mauvais codage !
Je dois l’avouer suis dans le noir car j’ai pas idée de quoi cela peut venir alors s’il pouvait y avoir des lumières, merci !







Répondre avec citation



Partager