2010-04-06 7 views
1

je veux comment obtenir le contenu des sites Web avec format UTF8 ,,obtenir le contenu du site au format UTF8

j'ai écrit le code suivant est

try { 
     String webnames = "http://pathivu.com"; 

     URL url = new URL(webnames); 

     URLConnection urlc = url.openConnection(); 

     //BufferedInputStream buffer = new BufferedInputStream(urlc.getInputStream()); 
     BufferedReader buffer = new BufferedReader(new InputStreamReader(urlc.getInputStream(), "UTF8")); 

     StringBuilder builder = new StringBuilder(); 

     int byteRead; 

     while ((byteRead = buffer.read()) != -1) 
      builder.append((char) byteRead); 

     buffer.close(); 

     String text=builder.toString(); 

     System.out.println(text); 
    } 
catch (IOException e) 
{ 
    e.printStackTrace(); 

} 

mais je ne peux pas obtenir le bon format. ..

merci et avance ..

Répondre

1

Votre code semble ok .. le problème ici, ce sera que dans le serveur les données ne seront pas au format UTF-8 ..

+0

toute solution à ce problème? – zahir

+0

s'il vous plaît vérifier dans le serveur d'où vous obtenez le contenu .. pouvez-vous fournir plus de détails sur ce – sreejith

+0

je peux facilement obtenir le contenu si le contenu en anglais, mais autre format qui affichent comme point d'interrogation ou d'autres symboles ... veux plus de détails? – zahir

3

Le problème est peut-être que votre console ou votre System.out ne sont pas UTF-8.

  • Essayez d'écrire à un fichier au lieu
  • Régler le flux de la console via System.setOut(..)

Vous pourriez avoir à utiliser -Dfile.encoding=utf-8 ou OutputStreamWriter

+0

Ou lorsque vous êtes assis dans un IDE, configurez l'encodage de l'espace de travail. Dans Eclipse, c'est * Fenêtre> Préférences> Général> Espace de travail> Encodage du fichier texte *. Celui-ci doit être réglé sur UTF-8 (+1). – BalusC

Questions connexes