URL, UTF8, Umlaute

O2016

Bekanntes Mitglied
Hallo,

Ich habe eine Methode die übergibt einen String(hier: text), welche eine URL ist.
Dann erstelle ich die und ruf die auf. Diese URL soll jsondaten übertragen (hier aber erst einmal unwichtig)
Mir geht es darum, dass ich keine Umlaute mit in die URL eingeben kann, es aber ggf. vorkommen kann dass auch ein ü oder ä vorkommt.
Gibt es einen anderen Reader der das kann?

Die Seite, welche ich aufrufe kommt mit Umlauten zurecht, das heisst gebe ich den Link direkt in den Browser sehe ich die Daten auch mit ü, ä

Java:
    URL url = new URL(text);
           URLConnection conn = url.openConnection();
           BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
           String line;
           while ((line = rd.readLine()) != null) {
               result.append(line);
           }
 
Mit deinem Vorhaben wirst du trotzdem wahrscheinlich scheitern, da die meisten Webserver eine recht kleine Begrenzung der GET Parameter haben. Man überträgt auch keine json Daten per GET. Dafür wurde das POST erfunden.

Gruß

Claus
 
Wenn ich einen GET-Aufruf machen, stehen doch alle Daten in der URL und sind auf 1024 begrenzt. Bei meinem Aufruf steht aber nichts in der URL lediglich der Ort und ein paar Kleinigkeiten.
Rufe ich somit POST auf?
Bzw. wie siehst du dass ich einen get-Aufruf mache
 
@mihe7
Danke. Deines ist sogar noch etwas schöner.

Java:
   public static void main(String[] args) {
       // TODO Auto-generated method stub
String wort = "ü";
String neu;
try {
   neu = URLEncoder.encode(wort,"UTF-8");
   System.out.println(neu);
} catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
}

   }
 
Natürlich kann man das auch ohne Exceptionhandling haben:
Java:
URLEncoder.encode("ö", StandardCharsets.UTF_8)
 

Zurück
Oben