Umlaute beim Parsen einer HTML Seite

vimar

Bekanntes Mitglied
Hallo, ich benutze eine Klasse die mir den Titel einer HTML Seite ausgibt. Leider kommt es dazu dass Wörter wie z.b. "Düsseldorf" so geschrieben werden "Düsseldorf".

Was kann ich tun? Danke für jede Hilfe, die Klasse poste ich mal:

Java:
import java.io.*;
import java.net.*;

/**
 * This small application takes an URL as argument, downloads that
 * web page and outputs its HTML title to the screen.
 * 
 * Refer to the main() method for how to read a local file instead.
 */
public class GetTitleFromURL
{
  private static String startTag = "<title>";
  private static String endTag = "</title>";
  private static int startTagLength = startTag.length();
  private String title ="";
  

  public String getTitle() {
	return title;
}


public GetTitleFromURL( URL theURL, String theStart, String theEnd )
  {
    BufferedReader bufReader;
    String line;
    boolean foundStartTag = false;
    boolean foundEndTag = false;
    int startIndex, endIndex;
    this.startTag = theStart;
    this.endTag = theEnd;
   // String title = "";
    
    try
    {
      //open file
      bufReader = new BufferedReader( new InputStreamReader(theURL.openStream()) );
      
      //read line by line
      while( (line = bufReader.readLine()) != null && !foundEndTag)
      {
        //System.out.println(line);
      
        //search for title start tag (convert to lower case before searhing)
        if( !foundStartTag && (startIndex = line.toLowerCase().indexOf(startTag)) != -1 )
        {
          foundStartTag = true;
        }
        else
        {
          //else copy from start of string
          startIndex = -startTagLength;
        }
        
        //search for title start tag (convert to lower case before searhing)
        if( foundStartTag && (endIndex = line.toLowerCase().indexOf(endTag)) != -1 )
        {
          foundEndTag = true;
        }
        else
        {
          //else copy to end of string
          endIndex = line.length();
        }
        
        //extract title field
        if( foundStartTag || foundEndTag )
        {
          //System.out.println("foundStartTag="+foundStartTag);
          //System.out.println("foundEndTag="+foundEndTag);
          //System.out.println("startIndex="+startIndex);
          //System.out.println("startTagLength="+startTagLength);
          //System.out.println("endIndex="+endIndex);
        
          title += line.substring( startIndex + startTagLength, endIndex );
        }
      }
      
      //close the file when finished
      bufReader.close();
      
      //output the title
      if( title.length() > 0 )
      {
       // System.out.println("Title: "+title);
      }
      else
      {
        System.out.println("No title found in document.");
      }
      
    }
    catch( IOException e )
    {
      System.out.println( "GetTitle.GetTitle - error opening or reading URL: " + e );
    }
  }
 

DrZoidberg

Top Contributor
Zum einen musst du beim Lesen der Seite den richtigen Charset angeben.
z.B.
Java:
bufReader = new BufferedReader(new InputStreamReader(theURL.openStream(), "utf8"));
Zum anderen muss System.out auch auf das Charset der Konsole eingestellt werden (unter Windows wäre das "cp850").
Dazu schreibst du an den Anfang der main Methode einfach
Java:
System.setOut(new PrintStream(System.out, true, "cp850"));
 

vimar

Bekanntes Mitglied
vielen dank, klappt nun mit "utf8", wenn ich allerdings das hier zusätzlich mache

Code:
System.setOut(new PrintStream(System.out, true, "cp850"));
dann krieg ich anstatt Düsseldorf D?sseldorf.

also einfach nur der erste tipp für die leute die per suchfunktion hier sind:
Code:
 new InputStreamReader(theURL.openStream(), "utf8"));
 

DrZoidberg

Top Contributor
vielen dank, klappt nun mit "utf8", wenn ich allerdings das hier zusätzlich mache

Code:
System.setOut(new PrintStream(System.out, true, "cp850"));
dann krieg ich anstatt Düsseldorf D?sseldorf.[/code]

cp850 ist ja auch nur für die Windows Konsole. Bei anderen Betriebssystemen oder wenn der Text in der Konsole der IDE ausgegeben wird gilt das nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Umlaute beim versenden von SMS Java Basics - Anfänger-Themen 10
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
L Collator Umlaute Java Basics - Anfänger-Themen 5
O URL, UTF8, Umlaute Java Basics - Anfänger-Themen 15
S Base64 - Wie beziehe ich die Umlaute in die Speicherplatzrechnung mit ein? Java Basics - Anfänger-Themen 52
krgewb Input/Output Umlaute in generierter HTML-Datei Java Basics - Anfänger-Themen 7
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
W JTextField-Objekt liest Umlaute mit falschen Zeichen ein Java Basics - Anfänger-Themen 5
A Text mit "Scanner" eingeben und Umlaute ersetzen Java Basics - Anfänger-Themen 7
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
F Scanner + Stringbuilder geben leeren String aus wenn Umlaute enthalten sind Java Basics - Anfänger-Themen 29
S Codierung der Umlaute in Mails Java Basics - Anfänger-Themen 2
M Fileoutputstream: Linux Dateinamen mit Umlaute Java Basics - Anfänger-Themen 4
OnDemand Umlaute ausgeben Java Basics - Anfänger-Themen 7
V Umlaute in mysql, antscript, powershell utf-8 Java Basics - Anfänger-Themen 7
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
S Umlaute aus Dateisystem entfernen Java Basics - Anfänger-Themen 5
B InetAddress und umlaute Java Basics - Anfänger-Themen 2
S Umlaute in Swing-GUI Java Basics - Anfänger-Themen 8
D javadoc: wie werden Umlaute richtig dargestellt? Java Basics - Anfänger-Themen 3
B Input/Output Kodierte Umlaute aus Datei umwandeln? Java Basics - Anfänger-Themen 2
R Umlaute Mac -> Windows Java Basics - Anfänger-Themen 2
0 Umlaute Java Basics - Anfänger-Themen 4
R UTF-8 Webseite Umlaute lesen. Java Basics - Anfänger-Themen 2
F SQL Server aus Umlaute werden Fragezeichen Java Basics - Anfänger-Themen 4
P Umlaute in Datei ändern Java Basics - Anfänger-Themen 4
R Umlaute mit Switch-Case tauschen Java Basics - Anfänger-Themen 26
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
S Eingabeaufforderung stellt Umlaute nicht dar Java Basics - Anfänger-Themen 10
A Umlaute darstellen Java Basics - Anfänger-Themen 4
M Umlaute in Java Applets? Java Basics - Anfänger-Themen 3
O Umlaute bei der Erfassung Java Basics - Anfänger-Themen 12
P Umlaute und Byte Java Basics - Anfänger-Themen 2
J Umlaute Java Basics - Anfänger-Themen 3
R Umlaute in einer .properties-Datei Java Basics - Anfänger-Themen 1
S Umlaute und Sonderzeichen erkennen Java Basics - Anfänger-Themen 12
C umlaute mit DataOutputStream schreiben Java Basics - Anfänger-Themen 3
N Umlaute ersetzen Java Basics - Anfänger-Themen 1
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
T DamagedFontException beim drucken Java Basics - Anfänger-Themen 3
Z SNAKE Schlange beim Aufheben von Essen verlängern Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
S Fehler beim Programm Java Basics - Anfänger-Themen 2
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
Kirby.exe Fehler beim Ausgeben Java Basics - Anfänger-Themen 2
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40

Ähnliche Java Themen

Neue Themen


Oben