Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 2457
Hei!

Når jeg bruker scanner til å lese inn et ord som bruker skriver inn, og dette ordet inneholder æ,ø eller å, blir en utskrift av denne variablen seenes slik ut:

æ = ã¦
ø = ã¸
å = ã¥

Hvordan får jeg scanner til å lese inn æ,ø og å korrekt?
Jeg kan legge til at når jeg bruker scanner til å lese inn ord fra en UTF-8 fil, blir ordene med æ,ø og å lagret og skrevet ut korrekt.
Kunne du poste kodebiten her er du snill?
i polhavet.
ferskvann's Avatar
Trådstarter
Sitat av Zirto Vis innlegg
Kunne du poste kodebiten her er du snill?
Vis hele sitatet...
Takk for svar Jeg vet ikke hvor stor nytte innsyn i koden har, da problemet oppstår selv ved den simpleste bruk av scanner:

Kode

import java.util.*;

public class Test {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("Skriv inn æ, ø eller å: ");
		String special = scan.nextLine();
		System.out.println("Du skrev: " + special);
	}
}
Resultatet her blir da:

Kode

1. Skriv inn æ, ø eller å: å
2. Du skrev: å
Jeg mistenker at det kan være noe med tegnsettingsinstillingene i Eclipse, hvis det kan peke noen i riktig retning.

Under Preferences -> General -> Workspace har jeg Text file encoding til UTF-8, og New text file line delimiter til Unix.
Sitat av ferskvann Vis innlegg
Takk for svar Jeg vet ikke hvor stor nytte innsyn i koden har, da problemet oppstår selv ved den simpleste bruk av scanner:

Kode

import java.util.*;

public class Test {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("Skriv inn æ, ø eller å: ");
		String special = scan.nextLine();
		System.out.println("Du skrev: " + special);
	}
}
Resultatet her blir da:

Kode

1. Skriv inn æ, ø eller å: å
2. Du skrev: å
Jeg mistenker at det kan være noe med tegnsettingsinstillingene i Eclipse, hvis det kan peke noen i riktig retning.

Under Preferences -> General -> Workspace har jeg Text file encoding til UTF-8, og New text file line delimiter til Unix.
Vis hele sitatet...
Det er riktig at det kan være noe med tegnsettingsinstillingene i Eclipse. Har tatt et screenshot av Workspace

http://bildr.no/thumb/dGpPUUJ2.jpeg
i polhavet.
ferskvann's Avatar
Trådstarter
Sitat av Zirto Vis innlegg
Det er riktig at det kan være noe med tegnsettingsinstillingene i Eclipse. Har tatt et screenshot av Workspace

http://bildr.no/thumb/dGpPUUJ2.jpeg
Vis hele sitatet...
Haha. Etter å ha endret instillingene ble jeg kvitt problemet ved user prompt, men nå har problemet forflyttet seg til når jeg leser fra fil. Det fungerte feilfritt med de "gamle" instillingene. Problemet byttet bare plass, hvis du skjønner.

Eks. Leser ordet hår fra fil. Resultat: hÃ¥r. Mistenker at det er noen andre instillinger som også lager kvalme.
Bytt tilbake til de orginale tegnsettinstillingene og prøv dette:

Kode

Scanner scan = new Scanner(System.in);
System.out.print("Skriv inn æ, ø eller å: ");
String special = scan.nextLine();
String special2 = new String(special.getBytes(), "cp850");
System.out.println("Du skrev: " + special2 + " " + special);
Se om en av stringene blir riktig.
cp850 er tegnsettet som brukes i windows cmd.

Tegnsett kan også settes på scanneren, "new Scanner(System.in, "cp850")".
▼ ... over en måned senere ... ▼
hvordan gjør jeg dette under osx? med Textmate f.eks