Sida 1 av 1

[Löst] Behöver köra ett program med en_US.ISO8859-1

Postat: 20 mar 2009, 12:10
av PureW
Tjena

Har ett problem med Matlab. Matlab öppnar textfiler i systemets "locale" vilket i detta fallet blir utf-8.

Men jag jobbar via svn med system som har en_US.ISO8859-1 som "locale". Detta ställer till problem.
Jag skulle vilja kunna öppna matlab och få matlab att tro att det är en_US.ISO8859-1 som "gäller",
så att texten tolkas på rätt sätt. (Det går ej att välja teckenkodning i matlab).

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 12:15
av Lars

Kod: Markera allt

LANG=en_US.ISO8859-1 matlab
eller

Kod: Markera allt

export LANG=en_US.ISO8859-1
matlab

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 12:29
av PureW
Från Matlabs support har jag fått tipset att köra

Kod: Markera allt

setenv LANG en_US.ISO8859-1
eller motsvarande.

Din lösning, Lars, måste väl anses som motsvarande? Det löser ej problemet
och isåfall får jag kanske ta ett snack med dem igen.

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 12:36
av Konservburk
Har du försökt sätta LC_CTYPE istället?

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 12:53
av andol
Hurtillvida man sätter miljövariabler med export eller setenv beror på vilket skal man använder sig utav. För bash (default i Ubuntu), bland annat, så är det export som gäller. setenv å andra sidan används i bland annat tcsh.

Kan även vara så att du inte har aktuell locale installerad. Vilken information ger följande kommando dig?

Kod: Markera allt

locale -a

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 13:05
av PureW
Konservburk skrev:Har du försökt sätta LC_CTYPE istället?
Japp, inget resultat där heller.
andol skrev:Hurtillvida man sätter miljövariabler med export eller setenv beror på vilket skal man använder sig utav. För bash (default i Ubuntu), bland annat, så är det export som gäller. setenv å andra sidan används i bland annat tcsh.

Kan även vara så att du inte har aktuell locale installerad. Vilken information ger följande kommando dig?

Kod: Markera allt

locale -a
Verkar ej som att ISO XXX är installerat...

Kod: Markera allt

locale -a
C
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
sv_FI.utf8
sv_SE.utf8

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 13:15
av andol
För att generera localen ifråga så vill du först skapa filen /var/lib/locales/supported.d/en_US-latin1 med följande innehåll. (Egentligen så är filnamnet valfritt, bara det ligger i den katalogen.)

Kod: Markera allt

en_US ISO-8859-1
Kör sen detta kommando

Kod: Markera allt

sudo locale-gen

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 14:01
av PureW
Nu går det framåt. Jag generarde en sådan locale enligt ovan, och nu outputtar Matlab följande när jag startar:
MATLAB:I18n:InconsistentUiLanguage - The user UI language setting, en_US.ISO8859-1, is different from the user locale setting, sv_SE.UTF-8.
Matlab startas med
LANG=en_US.ISO8859-1 matlab

Dock visar locale -a inte att latin1 är installerat tycker jag:

Kod: Markera allt

locale -a
C
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
sv_FI.utf8
sv_SE.utf8

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 14:03
av andol
Vad händer om du sätter "rubbet" med LC_ALL?

Re: Behöver köra ett program med en_US.ISO8859-1 som locale

Postat: 20 mar 2009, 14:06
av PureW
andol skrev:Vad händer om du sätter "rubbet" med LC_ALL?
JA, det funkar! Hurra!!!!!!! *Dansar runt i lägenheten*

Tack för all hjälp. Detta ställde till ganska tråkiga problem för kandidatarbetets kommentarer :)