Umlaute bei Website Quellcode Download gehen verloren

  • Antworten:2
Andreas B.
  • Forum-Beiträge: 23

18.08.2014, 19:02:37 via Website

Hallo zusammen,

mein Problem ist, dass wenn ich den Quellcode einer Websiet downloade, sich die Umlaute in ein "�" verwandeln.

private String downloadWebpage(String url) {
        try {
            HttpClient client = new DefaultHttpClient();
            HttpGet get = new HttpGet(url);
            HttpResponse response = client.execute(get);
            InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            String source = "";
            String tmp;
            while ((tmp = reader.readLine()) != null) {
                source += tmp;
            }

            return parsen(source);
        } catch (IOException io) {
            Log.e("Download", "Konnte nicht dowloaden: " + url);
            io.printStackTrace();
            return "Error beim Downlaod: " + url;

        }
    }

habe beim Anzeigen alles mögliche versucht um einen anderen Zeichensatz hin zu bekommen, ging aber nichts. Habe auch den Code in einer Datei gespeichert, aber auch dort waren sie weg. Muss also schon beim Download geschehen sein.

Ich versuchte auch
webSettings.setDefaultTextEncodingName("utf-8");
und ich lade den Code mit:
webView.loadDataWithBaseURL(url, quellcode ,"text/html; charset=utf-8","utf-8",null); Freundliche Grüsse Andreas

— geändert am 18.08.2014, 19:03:53

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

18.08.2014, 19:11:11 via App

Was hat denn die ziel html für ein charset.
Bzw sind die umlaute im html Format (ü für ü )?
Sind die Umlaute nur beim Anzeigen oder auch schon im Rückggabe string deiner Methode falsch?

— geändert am 18.08.2014, 19:11:33

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 8.735

18.08.2014, 19:21:33 via Website

Wenn "komische" Zeichen erscheinen werden Umlaute im Klartext angegeben und nicht als HTML Entity. Du lädtst die Website mit UTF-8, sie ist aber vermutlich in einen Latin-Zeichensatz (oder cp1252 und vergleichbar) erstellt und der Server arbeitet auch mit Latin-Ausgabe.

Wenn Du immer die gleiche Webseite lädst, kannst Du den Zeichensatz auf den gleichen der Website einstellen. Wenn nicht (und was die saubere Lösung ist), musst Du vorher prüfen, wie der Zeichensatz ist und dann dynamisch durch Deinen Code angleichen lassen.


Ich habe keine Lust mehr auf Bastelei und widme mich lieber wieder dem Real Life. Die Idee gärte schon länger. Tschüß!


Antworten