rawurlencode für C#?



  • Ich möchte jetzt ein Programm schreiben, bei dem ich eine Suche einer Page mittels URL übergebe. Bis jetzt läuft die Sache auch garnicht schlecht. Das Problem nur, dass mein Programm von Deutschen, Engländer und Franzosen genutzt werden können. Wären es nur Deutschen hätte ich leicht die Umlaute ersetzen können. Die Engländer sind da ja nicht so wild mit ihren Sonderzeichen.

    Die Franzosen machen mir Kopfzerbrechen. Für PHP habe ich schon was gefunden (Hilft nur wenig) das nennt sich "rawurlencode". Gibt es sowas auch für C#

    Gruß

    Markus Seidl



  • Aber sicher 🙂

    Vor dem Übergeben in der URL:

    string urlKompatiblerString = HttpUtility.UrlDecode(deinString);
    

    Nach dem Auslesen aus der URL:

    string deinString = HttpUtility.UrlDecode(urlKompatiblerString);
    

    Gruß
    Schrankwand



  • Hab die Antwort mittlerweile auch aus einem anderen Forum bekommen, das Problem dabei: .NET arbeitet mit Unicode. Weswegen die Strings ja auch Unicode sind. Aber das Web arbeitet noch nicht vollständig mit Unicode. Man muss in diesem Decode noch ein zweites Argument setzen.

    string urlKompatiblerString = HttpUtility.UrlDecode(deinString, System.Text.Encoding.Default);
    

    Erst dann isses richtig. Man darf auch nicht den ganzen Link da reinpacken, der Decoded sonst alle Sonderzeichen, also auch ":" "/" "?" und so weiter, und dann funktioniert der Link nicht mehr.

    Trotzdem danke für deine Antwort 🙂

    Gruß

    Markus Seidl


Anmelden zum Antworten