Avatar billede walker Nybegynder
22. august 2003 - 12:40 Der er 20 kommentarer og
1 løsning

Java på linux skal arbejde med æ,ø og å?

Hej
Hvordan er det nu lige jeg får java til at arbejde med æ, ø og å på en linux maskine?
Jeg har lavet et testscript, som ser ca. ud som følgende:

String str = "æøå";
byte[] b = str.getBytes();
for (int n = 0; n < b.length; n++)
    System.out.println(b[n]);
String str2 = new String(b);
System.out.println(str2);

på min windows-kasse udskriver den:
-26
-8
-27
æøå

men på linux-box'en skriver den:
63
63
63
???

jeg har prøvet med et tip jeg engang fik med at starte programmet som følgende:

java -Dfile.encoding=Cp859 Test

men det virker ikke i dette tilfælde?

mvh
Walker ;o)
Avatar billede arne_v Ekspert
22. august 2003 - 12:55 #1
Prøv med:

-Dfile.encoding=iso8859-1
Avatar billede arne_v Ekspert
22. august 2003 - 12:58 #2
Hov.

-Dfile.encoding=ISO-8859-1

hedder det vist (alternativ: -Dfile.encoding=Cp1252).
Avatar billede walker Nybegynder
22. august 2003 - 12:59 #3
ingen ændringer :(
nb! Jeg kan godt skrive æ, ø og å i konsollen...
Avatar billede arne_v Ekspert
22. august 2003 - 13:04 #4
Hvad med:

-Dfile.encoding=UTF-8

?
Avatar billede walker Nybegynder
22. august 2003 - 13:20 #5
Nop... ingen ændringer... :(
Avatar billede arne_v Ekspert
22. august 2003 - 13:24 #6
Jeg skal så lige høre hvordan du skriver programmet og hvordan du compiler.
Avatar billede walker Nybegynder
22. august 2003 - 13:29 #7
Jeg skriver programmet og compiler med jdk ??
Avatar billede arne_v Ekspert
22. august 2003 - 13:33 #8
Gemmer din editor i UTF-8 eller i ISO-8859-1 ?

(du kan checke ved at lave en fil med en linie med "æøå" og se størrelsen
med ls -l, 3-4 bytes => ISO-8859-1, 6-7 bytes => UTF-8)
Avatar billede walker Nybegynder
22. august 2003 - 13:37 #9
den fylder 3 bytes... så det er vel iso-8859-1 ?
Avatar billede arne_v Ekspert
22. august 2003 - 13:40 #10
Ja.

Prøv med:

byte[] b = str.getBytes("ISO-8859-1);

og se hvad den giver.
Avatar billede arne_v Ekspert
22. august 2003 - 13:40 #11
Hvilken version af JDK bruger du ?
Avatar billede walker Nybegynder
22. august 2003 - 15:30 #12
j2sdk 1.4.1
Avatar billede arne_v Ekspert
22. august 2003 - 15:58 #13
Nogen ændring med str.getBytes("ISO-8859-1) ?
Avatar billede walker Nybegynder
22. august 2003 - 22:31 #14
ingen ændringer heller... :(
Avatar billede arne_v Ekspert
22. august 2003 - 23:04 #15
Jeg er ved at løve tør for gode ideer.

Endnu et forsøg (ja - det er kun forsøg - jeg kan ikke genskabe problemet på
min RH7 JDK 1.4.1 box):

iconv --from-code ISO8859-1 --to-code UTF-8 Foobar.java --output Foobar.newjava

omdøb Foobar.newjava til Foobar.java og se hvordan den opfører sig.
Avatar billede walker Nybegynder
22. august 2003 - 23:26 #16
Virker heller ikke... :(
Jeg prøvede at lave en (char)-26 og det virkede heller ikke... det må være noget med linux'en og dens charset eller sådan noget...
Avatar billede arne_v Ekspert
22. august 2003 - 23:29 #17
Ja.

I de nye RH (og formentlig også andre) har de forsøgt at skifte
fra ISO-8859-1 til UTF-8 og det giver bare så mange problemer
i forhold til Java.
Avatar billede arne_v Ekspert
22. august 2003 - 23:29 #18
Du kunne også prøve at opgradere til Java SDK 1.4.2 og se om den virker bedre.
Avatar billede walker Nybegynder
23. august 2003 - 00:09 #19
Upz... det er 1.4.2...
Avatar billede arne_v Ekspert
23. august 2003 - 09:17 #20
Suk.
Avatar billede walker Nybegynder
15. oktober 2003 - 18:45 #21
hm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester