Umlaute bei der Erfassung

Status
Nicht offen für weitere Antworten.
O

Oak

Gast
Hi Leute, ich stehe hier vor einem Problem dass mir Kopfzerbrechen bereitet ...was evtl. auf mein mangelndes Wissen bzgl. Zeichensätze zurückzuführen ist.

Folgender Fall:

Code:
s3.push(this.getClass().getResource("obstkorb/äpfel.jpg"));


try{
		        	BufferedReader in = new BufferedReader(
		  				  new InputStreamReader( System.in ) );
		  					String str = in.readLine();	

		  					if(str.equalsIgnoreCase(s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "ä"))){
								System.out.println("Yuppieee - Richtig!:)");							
								
		  					}else if (!str1.equalsIgnoreCase(s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "ä"))){
		  							System.out.println("Leider falsch - die Antwort lautet " +s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "ä"));

		  						}
		  					
		        }
		        catch(IOException e){
		        	System.out.println("Fatal Error");
		        }

Unter Linux (Ubuntu Distribution) wird es korrekt aufgenommen - es erscheint ein "Yuppieee - Richtig! :)"

Wenn ich unter Windows XP ..."Äpfel" eingebe wird keen richtig ausgegeben ...sondern komischer weise "Leider falsch - die Antwort lautet Äpfel"...

Womit hängt dies zusammen ? Muss ich evtl. das ganze nochmal unter Windows compilieren ?

Danke im Vorraus für Hinweise u. Lösungsvorschläge

Oak
 
O

Oak

Gast
Danke :)

Unter Linux klappt es immernoch wunderbar ...unter Windows erscheint hingegen bei

"Leider falsch - die Antwort lautet Äpfel"

ein Komischen "Ö" ...das wirkt langsam wirklich seltsam - warum funktioniert es unter Linux, unter Windows jedoch nicht ...ich habe auch dabei auch Unicode Zeichen verwendet ...weiß jmd. da evtl. Rat ?

mit besten Dank im Vorraus

Oak
 
O

Oak

Gast
Nabend ;)

...was anstatt "ä" durch das System.out.println erscheint ist unter Windows (XP) ein "õ" ...

@Wildcard - gibt es eine Möglichkeit dass DOS anstatt das CP1552 dann UTF anwendet ?

Hab im oben aufgeführten Quellcode durch die Hilfe von Ariol die "ä" durch "\u00e4" verändert - jedoch bleibt das problem dass anstatt ein ä dann ein õ in der DOS-Konsole angegeben wird ...

Mit besten Dank u. gute Nacht ^^

Oak
 

Wildcard

Top Contributor
Dafür kenne ich mich mit Windows Konsole zu wenig aus. Keine Ahnung ob du das Encoding ändern kannst.
 

anfänger15

Bekanntes Mitglied
Code:
BufferedReader in= new BufferedReader(
						new InputStreamReader(System.in, "Cp850"));

so sollte es gehen
wenn du willst das das ä auch richtig auf der Console angezeigt wird musst du das gleiche auch noch bei einem OutputStream machen
 
O

Oak

Gast
Hab es aktuell so umgesetzt:

Code:
try{
                 BufferedReader in = new BufferedReader(
                      new InputStreamReader( System.in ) );
                       String str = in.readLine().replaceAll("ä", "Cp850");   

                       if(str.equalsIgnoreCase(s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "Cp850"))){
                        System.out.println("Yuppieee - Richtig!:)");                     
                        
                       }else if (!str1.equalsIgnoreCase(s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "Cp850"))){
                             System.out.println("Leider falsch - die Antwort lautet " +s3.peek().toString().substring(s3.peek().toString().lastIndexOf(("/"))+1, s3.peek().toString().length()-4).replaceAll("%c3%a4", "Cp850"));

                          }
                       
              }
              catch(IOException e){
                 System.out.println("Fatal Error");
              }

Als Meldung kommt dann dennoch

"Leider falsch - Die Antwort lautet Cp850pfel"

Was hab wurde hier falsch gemacht ?

Mit besten Grüßen

Oak
 

Ariol

Top Contributor
Nicht so
Code:
BufferedReader in = new BufferedReader(
                      new InputStreamReader( System.in ) ); 
String str = in.readLine().replaceAll("ä", "Cp850");

sondern so
Code:
BufferedReader in= new BufferedReader(new InputStreamReader(System.in, "Cp850"));
String str = in.readLine();

EDIT:
Und nimm die Reslichen
Code:
 replaceAll(/*wasauchimmer*/,"Cp850");
auch raus
 

Ariol

Top Contributor
Vermutlich.
Seltsam, ich hatte bisher immer nur Probleme bei der Ausgabe....

Hey, da kommt doch eine Idee:
Code:
                 BufferedReader in = new BufferedReader(
                      new InputStreamReader( System.in , "UTF-8") );
                       String str = in.readLine();
 
O

Oak

Gast
@Wildcard ...japp - es läuft nur noch unter Windows ...nicht unbedingt im Sinne des Erfinders bzw. im Sinne von Java ...naja, es klappt zumindest


@ Ariol - spitzen Idee ;) - analog geht es dann mit den anderen UTF-Standards - danke für den Hint

Und danke an euch alle für die Hilfe ;)

Mit besten Grüßen

Oak
 

Wildcard

Top Contributor
Das wird so aber nicht funktionieren
Wenn du dem InputStreamReader sagst 'dein Input wird UTF-8 sein', dann ist es deshalb noch kein UTF-8 wenn die Windows Konsole weiter cp1252 schickt. :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
F Umlaute beim versenden von SMS Java Basics - Anfänger-Themen 10
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
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
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
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
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
N Erfassung von Fensterübergreifenden Aktivitäten Java Basics - Anfänger-Themen 2
K Hilfe bei Java-Applikation zur Erfassung von IT-Nachrichten Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben