Question

J'utilise un analyseur HTML appelé Jsoup, pour charger et analyser des fichiers HTML. Le problème est que la page Web que je suis gratter est codée dans ISO-8859-1 charset tandis que Android utilise le codage UTF-8 (?). Ce sont les résultats de certains caractères montrant comme des points d'interrogation.

Alors maintenant, je suppose que je devrais convertir la chaîne en format UTF-8.

Maintenant, j'ai trouvé cette classe appelée CharsetEncoder le SDK Android, que je pense me aider. Mais je ne peux pas comprendre comment la mettre en œuvre dans la pratique, je me demande donc si on pouvait obtenir som aide par un exemple pratique.

Mise à jour: Code pour lire les données ( Jsoup )

url = new URL("http://www.example.com");
Document doc = Jsoup.parse(url, 4000);
Était-ce utile?

La solution

Vous pouvez laisser Android faire le travail pour vous en lisant la page dans un octet [], puis en utilisant les méthodes jSoup pour l'analyse syntaxique des objets String.

Ne pas oublier de spécifier le codage lors de la création de la chaîne à partir des données lues à partir du serveur en utilisant la chaîne correcte constructeur .

Autres conseils

Byte encodages et cordes

public static void main(String[] args) {

      System.out.println(System.getProperty("file.encoding"));
      String original = new String("A" + "\u00ea" + "\u00f1"
                                 + "\u00fc" + "C");

      System.out.println("original = " + original);
      System.out.println();

      try {
          byte[] utf8Bytes = original.getBytes("UTF8");
          byte[] defaultBytes = original.getBytes();

          String roundTrip = new String(utf8Bytes, "UTF8");
          System.out.println("roundTrip = " + roundTrip);

          System.out.println();
          printBytes(utf8Bytes, "utf8Bytes");
          System.out.println();
          printBytes(defaultBytes, "defaultBytes");
      } catch (UnsupportedEncodingException e) {
          e.printStackTrace();
      }

   } // main
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top