Webseite auslesen, Leerzeichen zwischen jedem Zeichen

  • Antworten:3
Lukas Wilhelm
  • Forum-Beiträge: 1

02.11.2012, 15:45:35 via Website

Hallo,
habe folgenden Quelltext um Webseiten auszulesen,
in vorherigen Apps hat der Quelltext auch schon funktioniert,
jedoch macht er plötzlich in einem neuen Projekt Probleme.

Quellcode:
1import java.io.BufferedReader;
2import java.io.IOException;
3import java.io.InputStreamReader;
4import java.net.HttpURLConnection;
5import java.net.URL;
6
7public class webconnect{
8
9 public String getQuelltext(String pfad) throws IOException{
10 String wert;
11 URL url = new URL (pfad);
12 HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
13 try {
14 BufferedReader rd;
15 rd = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"iso-8859-15"));
16 StringBuffer sb = new StringBuffer();
17 String line;
18 while ((line = rd.readLine()) != null){
19 sb.append(line);
20 }
21 wert = sb.toString();
22 rd.close();
23 }finally{
24 urlConnection.disconnect();
25 }
26 return wert;
27 }
28
29}

Dies ist beim debuggen mein Return:
1ÿþ< h t m l > < b o d y > D i e s i s t e i n T e s t ! < / b o d y > < / h t m l >
:mad: Jedes Mal diese Leerzeichen da!!!(Zwischen den Wörtern sind übrigens zwei Leerzeichen.)

Und wenn ich den Value kopiere und beispielsweise in Notepad einfüge bleibt noch folgendes über:
1ÿþ<
seltsam... :mellow:

Habe das Projekt schon neu angelegt, Eclipse neu gestartet, Internet-Permission gegeben, Activities ins Manifest geschrieben, neue VM angelegt, andere API's verwendet!
Ändert leider alles nichts. :(

Ich verwende im Eclipse die API 16, im Projekt jedoch die API 10, da meine anderen Apps auch mit API 10 laufen.
Meine VM hat API 16.

Wäre schön wenn mir jemand weiterhelfen könnte.

Gruß Lukas

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

02.11.2012, 16:17:38 via Website

Ich bin mir ziemlich sicher das das mit dem Encoding "iso-8859-15" zusammenhängt. Das hat nix mir Eclipse, Android oder dem Manifest zu tun.

Schau Dir doch mal den Quelltext der Website an und vor langen Dingen das Encoding das dort vorliegt.

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

02.11.2012, 16:18:17 via Website

Bist du sicher das du ISO 8859 haben musst ? Probier mal UTF-8 !

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Christian Schneider
  • Forum-Beiträge: 8

02.11.2012, 16:37:42 via Website

Wie bereits geschrieben ist das ein encoding Problem. Die Leerstelle nach jedem Zeichen riecht nach utf-16 und das 'FF FE' am Anfang ist vermutlich der BOM für little endian.

Antworten