Teckenkodning, å ger Ã¥, vad ger å?

Här diskuteras programmering och utveckling
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av TicToc »

Sitter just nu i OS X och skriver ett javaprogram som anropar ett externt native-program, som även kommer att anropa motsvarande i linux och windows.
Argument med åäö blir lite knasiga, tex.
å Ã¥
ä ä
Ä Ã„

Jag tänkte mig en snabb och enkel lösning genom att ange något helt annat för att få ut åäöÅÄÖ, problemet är bara att trots googlande kammar jag noll.
Vad ger mig åäöÅÄÖ?
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av mcNisse »

Troligtvis använder programmet enbytes teckenkoder. Testa att konvertera strängen till rätt kodning innan du skickar argumenten till programmet.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av Konservburk »

TicToc skrev:Argument med åäö blir lite knasiga, tex.
å Ã¥
ä ä
Så där ser UTF-8 ut i enkelteckenkodning.
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

Re: Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av TicToc »

I går testade jag lite olika charset-konvertingar i java, det gav förändringar, men inte förbättringar.
När jag körde det på en windosmaskin idag blev allt bra. Jag har hela tiden kört från netbeans IDE, om nu det påverkar.

I min enfald trodde jag att bara jag har ett 'ö' så kan jag ange ett till-system, men jag antar att från-system också måste anges. Det finns mao inte några 'absoluta' tecken?
Jag får vika en dag eller två på julsemestern för att rada upp tre olika datorer/os och labba tills jag behärskar det.
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av mcNisse »

Du måste kontrollera med OS-et (skalet?) vilken teckenkodning som änvänds och konvertera till det. Windows änvander ofta någon cp-kodning (code page) som är kompatibel med latin-1 om man kör programmet i Sverige. Linux-system använder oftast utf-8. osX har jag ingen aning om.

Här är en snutt som jag hittade som borde hjälpa till att hitta vilken kodning du ska skicka argumenten som.

Kod: Markera allt

// in JDK 1.5+, will typically be "windows-1252"
// First, get the Charset/encoding then convert to String.
String defaultEncodingName = Charset.defaultCharset().name();
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

Re: Teckenkodning, å ger Ã¥, vad ger å?

Inlägg av TicToc »

mcNisse skrev: Här är en snutt som jag hittade som borde hjälpa till att hitta vilken kodning du ska skicka argumenten som.
Tack för tipset,
testade

Kod: Markera allt

    public static void main(String[] args) {
        String defaultEncodingName = Charset.defaultCharset().name();
        System.out.println(defaultEncodingName);
    }
Kör jag programmet från NetBeans IDE på Mac får jag "UTF-8", startar jag samma program via skalet blir det "MacRoman".
Det fungerar bra att sätta egenskapen före programstart, -Dfile.encoding=UTF-8

Många ändar på detta spett. :)

Har inte gjort det riktiga testet ännu då målhårdvaran inte är åtkomlig.
Skriv svar

Återgå till "Programmering och webbdesign"