09. august 2002 - 20:24
Der er
22 kommentarer og 1 løsning
æøå i Java
Sidder lige og er i gang med at lære Java, men hvordan kan man skrive danske bogstaver (æ, ø, å) i Java? I f.eks. dette eksempler ser å og æ ud på en helt forkert måde! class StatsUnderskud { public static void main(String[] arguments) { int underskud = 446000000; underskud = underskud / 1440; System.out.println("På et minut stiger statsgælden med $" + underskud); } }
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
09. august 2002 - 20:49
#1
Jeg gætter på at du compiler og kører i en dos prompt på PC. Problemet er ikke java, men at dos og windows bruger forskelligt ASCII tegnsæt. Hvis du skriver dit java program i edit fra dos (eller nøjes med at rette æøå deri) vil æøå blive vist ordentligt.
09. august 2002 - 20:55
#2
Men så bliver det bare ikke vist ordentligt hvis det vises i Windows
09. august 2002 - 21:00
#3
Ja jeg kører programmet i en DOS prompt på en PC. Det sidste forstår jeg dog ikke: Hvordan kan vise programmet i Windows i stedet for i en DOS prompt?
09. august 2002 - 21:01
#4
Du kan også give char variable ASCII værdierne for dos æøå. Prøv med class StatsUnderskud { public static void main(String[] arguments) { char æ=0x91, ø=0x9B, 0x86, Æ=0x92, Ø=0x9D, Å=0x8F; int underskud = 446000000; underskud = underskud / 1440; System.out.println("P"+å+" et minut stiger statsg"+æ+"lden med $" + underskud); } } Jeg har ikke java installeret for øjeblikket så jeg kan ikke teste det.
09. august 2002 - 21:04
#5
Hvis du bruger ultraedit, JCreator eller mange andre. Kan du fange alt output fra skærmen, så det vises i et vindue efter programmet er afviklet. Der mangler (selvfølgelig) å=0x86 i erkleringerne
09. august 2002 - 21:08
#6
Hvis jeg i JCreator vælger Build -> Execute file så åbner den bare programmet i en DOS Prompt.
09. august 2002 - 21:15
#7
Det kan du indstille i: build | runtime configuration - new - new, kryds af i "capture output"
09. august 2002 - 21:22
#8
okay kigger lige på det :)
05. april 2004 - 15:41
#9
Hvilken tegntabel bliver der kørt i DOS? For jeg har prøvet adskillige uden resultat af ovenstående! Nogen der kan hjælpe?
05. april 2004 - 16:29
#10
En lidt gammel tråd du har fundet ! :-) DOS er normalt CP850, CP865 eller CP437. Der er betydeligt bedre måder at løse det på end de konstanter. -Dfile.encoding=CP850 er en mulighed.
05. april 2004 - 23:53
#11
Jeg er ikke med? -Dfile.encoding=CP850 skal sættes ind hvor? Jeg compiler i JDeveloper og kører i DOS.
05. april 2004 - 23:55
#12
Når du kører i DOS: java -Dfile.encoding=CP850 DitProgram
06. april 2004 - 00:13
#13
Det er det samme. Der kommer sq ikke noget æ frem.
06. april 2004 - 00:20
#14
char æ = 0x91; System.out.println(æ); compiling C:\JDeveloper\jdev\mywork\src\Fjernmaaske.java [00:14:48] Successful compilation: 0 errors, 0 warnings. ? Process exited with exit code 0. I DOS : >javac Fjernmaaske.java >java -Dfile.encoding=CP865 Fjernmaaske ? > Ja som du kan se er det ikke meg æ der kommer frem.
06. april 2004 - 00:22
#15
Prøv med æ='æ'
06. april 2004 - 00:23
#16
Eller bedre endnu drop de konstanter. System.out.println("æblegrød"); [og altså med -Dfile.encoding=CP850 eller 886]
06. april 2004 - 00:23
#17
865 ikke 886
06. april 2004 - 00:25
#18
C:\>java DK ãÏ┼µ°Õ C:\>java -Dfile.encoding=CP850 DK ÆØÅæøå
06. april 2004 - 00:27
#19
ja, det virkede. Både med 850 & 865 Men så skal man det foran filnavnet hver gang? Det er jo lidt skod at skulle skrive det hver gang. Især når man i DOS kører den cp kode. C:\JDeveloper\jdev\mywork\src\>chcp Aktiv tegntabel: 850 C:\JDeveloper\jdev\mywork\src\>
06. april 2004 - 00:34
#20
Normalt går man ike så meget op i ÆØÅ i console output - hvis et skal være pænt laver man det i GUI eller print alligevel. Men hvis du vil have ÆØÅ korrekt og du ikke orker at skrive den lille define hver gang så kan du lave en: System.setOut(new PrintStream(System.out, true, "CP850")); i din kode.
06. april 2004 - 00:35
#21
Eller: System.setProperty("file.encoding", "CP850");
06. april 2004 - 00:35
#22
[men klag ikke til mig når det ser forkert ud i console på linux ...]
06. april 2004 - 00:35
#23
Jeg siger mange tak. Det er sq lige før jeg skulle opret. et spg. så du kan få nogle point.
Kurser inden for grundlæggende programmering