Veröffentlicht 30. Oktober 200123 j Hallo, kann ich irgendwie überprüfen, ob ein vom Benutzer eingegebener String, dem Encoding UTF-8 entspricht? Wenn ich den String ansonsten in einer UTF-8-Datei speicher, fehlt nachher die Hälfte (statt den eingegebenen ü's sind's dann Quadrate, die mehrere andere Zeichen schlucken). :-( Danke, Fine
30. Oktober 200123 j Ich habe mal sowas ähnliches zum Überprüfen einer email-adresse geschrieben. Habe damals leider auch nichts gefunden, was mit mit standard jdk1.3 die Arbeit abnehmen wollte. Aber vielleicht kannst du dir die Klasse ein wenig umschreiben und schon hast du es... public class EMailChecker { public static boolean testEMail(String s) { s = s.trim(); char invalidCharacterArray[] = { 'ä', 'ü', 'ö', 'ß' }; int at, dot, len = s.length(); // s nicht angegeben (oder nur Whitespaces), oder kein @ bzw . if ((len == 0) || ((at = s.indexOf('@')) == -1) || ((dot = s.lastIndexOf('.')) == -1)) return false; // keine EMailadresse vor @ Zeichen oder . vor & if ((at == 0) || (dot < at)) return false; // Umlaute enthalten for (int i = 0; i < invalidCharacterArray.length; i++) { if (s.indexOf(invalidCharacterArray[i]) > -1) { return false; } } // Mindestens einZeichen für die Endung return (dot + 1 == len) ? false : true; } }
30. Oktober 200123 j Danke, auf so eine Idee bin ich auch gekommen, aber ä's, ü's, ö's und ß's sind ja leider nicht die einzigen Buchstaben, die UTF-8 nicht mag. :-(
5. November 200123 j Moin! Vielleicht hilft dir ja java.io.DataInputStream.readUTF(DataInput in) weiter. Schmeisst eine UTFDataFormatException wenn in kein gueliges UTF-8 ist.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.