Umlaute umwandeln



  • Moin Leute ...

    Wie muss ich vorgehen einen String^ "C4=D6=DC" in "ÄÖÜ" umzuwandeln? Bis jetzt habe ich den String zerlegt und habe die Werte als HEX und DEZ seperat vorliegen. Nur will es mir einfach nicht gelingen - dies umzuwandeln. Ist dafür die System::Text::Encoding Klasse die richtige?



  • Neee. die Encoding-Klasse ist zum Umwandekn von verschiedenen "native" Encodings...

    Du brauchst irgendwas, was dieses spezielle Encoding umsetzt... das hatten wir hier auch schon mal, hab es nur vergessen... wird das nicht bei E-Mails verwendet?



  • Jochen Kalmbach schrieb:

    wird das nicht bei E-Mails verwendet?

    unter anderem 😞 - die Encodings bringen mich noch zur Verzweiflung ... um es ganz einfach zu machen

    String::Replace("=C6", "Ä"); // Q&D
    


  • Jochen Kalmbach schrieb:

    Neee. die Encoding-Klasse ist zum Umwandekn von verschiedenen "native" Encodings...

    Du brauchst irgendwas, was dieses spezielle Encoding umsetzt... das hatten wir hier auch schon mal, hab es nur vergessen... wird das nicht bei E-Mails verwendet?

    Ja ... ich hatte die Frage irgendwann schoneinmal gestellt. Aber ich glaube ich bin da nicht richtig weiter gekommen. Kann mich nicht mehr richtig erinnern. Und ja ... es geht um einen Email Betreff.

    unter anderem 😞 - die Encodings bringen mich noch zur Verzweiflung ... um es ganz einfach zu machen
    Code:
    String::Replace("=C6", "Ä"); // Q&D

    mich langsam auch ... und es gibt keine andere Lösung ?



  • Ja bin ich denn bescheuert? Warum ergibt das:

    String^ Sidebar::EmailViewer::replaceUmlaute (String^ umlaute)
    	{
    	textBox1->AppendText ("Text aus replaceUmlaute: " + umlaute + NEWLINE );
    
    	umlaute->Replace ("=C4","Ä");
    	umlaute->Replace ("=80","€");
    	umlaute->Replace ("=D6","Ö");
    	umlaute->Replace ("=DC","Ü");
    	umlaute->Replace ("=DF","ß");
    	umlaute->Replace ("=E4","ä");
    	umlaute->Replace ("=F6","ö");
    	umlaute->Replace ("=FC","ü");
    
    	textBox1->AppendText ("Umgewandelnt: " + umlaute + NEWLINE );
    
    	umlaute->Replace ("=C4=D6=DC","xxx");
    	textBox1->AppendText ("Neu: " + umlaute + NEWLINE );
    
    	return umlaute;
    	}
    

    folgende Ausgabe:

    Text aus replaceUmlaute: =C4=D6=DC
    Umgewandelnt: =C4=D6=DC
    Neu: =C4=D6=DC

    ???



  • Die "Replace" Methode gibt einen umgewandelten String *zurück*! Du macht aber mit dem Rückgabewert gar nichts 😉



  • peinlich, peinlich. Sorry


Anmelden zum Antworten