Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Unicode/UTF-8 problemer
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Scandinavian
View previous topic :: View next topic  
Author Message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Sun Aug 28, 2005 3:19 pm    Post subject: Unicode/UTF-8 problemer Reply with quote

Jeg prøver å konfigurere systemet mitt for bruk av UTF-8 (etter denne guiden: http://gentoo-wiki.com/HOWTO_Make_your_system_use_unicode/utf-8), men støter på en del problemer.
Støtte for UTF-8 er kompilert inn i kjernen, og "nls" og "userlocales" er satt som use-flagg.
Jeg har satt UNICODE="yes" i rc.conf og KEYMAP="no-latin1" i keymaps.

Kjører jeg "locale", får jeg:
Code:
> locale
LANG=en_US.UTF8
LC_CTYPE=nb_NO.UTF8
LC_NUMERIC=nb_NO.UTF8
LC_TIME=C
LC_COLLATE=nb_NO.UTF8
LC_MONETARY=nb_NO.UTF8
LC_MESSAGES=en_US.UTF8
LC_PAPER=nb_NO.UTF8
LC_NAME="en_US.UTF8"
LC_ADDRESS="en_US.UTF8"
LC_TELEPHONE="en_US.UTF8"
LC_MEASUREMENT=nb_NO.UTF8
LC_IDENTIFICATION="en_US.UTF8"
LC_ALL=

Locale -a gir meg:
Code:
> locale -a
C
de_DE
de_DE@euro
en_HK
en_PH
en_US.iso88591
en_US.utf8
es_MX
fa_IR
fr_FR
fr_FR@euro
it_IT
ja_JP
ja_JP.eucjp
ja_JP.utf8
nb_NO
nb_NO.utf8
POSIX

Likevel får jeg ikke tilgang til f.eks. "æ", "ø" og "å" i terminaler under X (jeg bruker vanligvis rxvt-unicode).
Filnavn som inneholder nasjonale symboler vises som "??" i terminalen, og filer som inneholder "æ", "ø" eller "å" _og_ som er kodet i UTF-8 dukker opp som "invalid encoding" med Gnome-applikasjoner.

Når jeg starter en X-applikasjon som f.eks. Scite, får jeg:
Code:
> scite

(process:7742): Gdk-WARNING **: locale not supported by Xlib
(process:7742): Gdk-WARNING **: cannot set locale modifier

Om jeg ikke starter opp X, får jeg tilgang til "æ", "ø" og "å" på tastaturet, men filnavn som inneholder de samme bokstavene vises fortsatt som "??"

Noen som har noen tips om hva jeg kan forsøke for å rette på dette?
_________________
/PerJ
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Mon Aug 29, 2005 9:41 am    Post subject: Reply with quote

Läs igenom vad du ska göra i dokument delen av gentoo siten under:
Code:
 System Administration --> UTF-8 documentation.

Tror du ska ha iso0-6 definierad i filerna consolefont och keyboards under /etc/conf.d/ om du ska köra dansk/norskt.

Mer utförligt om vilken keymap alt consolefont du ska använda finns i en sticky thread, här på detta forum, för att få rätt tecken i gentoo. Hoppas du får ordning på det.
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Mon Aug 29, 2005 12:03 pm    Post subject: Reply with quote

Takk for svar.
Jeg har lest i gjennom dokumentasjonen både her på site'n og på gentoo-wiki'en, uten å finne noen løsning der.
Og som det står i sticky-thread'en i dette forumet, har jeg satt: CONSOLEFONT="lat0-16" i /etc/conf.d/consolefont .

Andre forslag?
_________________
/PerJ
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Mon Aug 29, 2005 1:53 pm    Post subject: Reply with quote

Har du testat med att köra
Code:

/etc/init.d/keymaps restart
/etc/init.d/consolefont restart

och
Code:

env-update
source /etc/profile ?


Föresten, hur ser din output av locale ut nu? Du vet väl att /etc/env.d/02locale bara behöver innehålla LC_ALL="no_NO.UTF-8" väl? Det:?: har jag (LC_ALL="sv_SE.UTF-8"), och sedan en sak till....

Kolla upp din /etc/locales.build (Måste ha din motsv no_NO.UTF-8 variabel) och vad säger:
Code:

emerge -pv glibc

Om det säger '-userlocales' bland flagg parametrarna, får du se över din /etc/make.conf (Ska ha USE flagga: userlocales)

Finns inte dessa, måste du som sagt lägga till 'userlocales' och kompillera om glibc, vilket du får göra på egen risk. 8)

userlocales ser till att använda den keycode som du anger i /etc/build.make filen.
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Mon Aug 29, 2005 4:15 pm    Post subject: Reply with quote

Følgende:
Code:
/etc/init.d/keymaps restart
/etc/init.d/consolefont restart
env-update
source /etc/profile

... gjør ingen forskjell.
(men når jeg restarter /etc/init.d/keymaps i X, kræsjer hele maskina.... må bruke powerknappen for å restarte)

Quote:
Föresten, hur ser din output av locale ut nu?

Samme som før.
Quote:
Du vet väl att /etc/env.d/02locale bara behöver innehålla LC_ALL="no_NO.UTF-8" väl?

Ja, men jeg vil gjerne ha menyer og andre beskjeder på engelsk.
(jeg har forøvrig også testet både LC_ALL="no_NO.UTF-8" og LC_ALL="en_US.UTF-8" med samme resultat)
Quote:
Kolla upp din /etc/locales.build (Måste ha din motsv no_NO.UTF-8 variabel)

Den la jeg inn, ja.
glibc sier:
Code:
> emerge -pv glibc
These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] sys-libs/glibc-2.3.5-r1  -build -erandom -glibc-compat20 -glibc-omitfp -hardened -linuxthreads-tls (-multilib) +nls -nptl -nptlonly -pic -profile (-selinux) +userlocales 0 kB

Og jeg har allerede rekompilert glibc et par ganger.
Quote:
userlocales ser till att använda den keycode som du anger i /etc/build.make filen.

Hmmmm... denne filen har jeg ikke.
Er det et problem?
_________________
/PerJ
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Mon Aug 29, 2005 4:27 pm    Post subject: Reply with quote

Citat:
Quote:

Quote:

Du vet väl att /etc/env.d/02locale bara behöver innehålla LC_ALL="no_NO.UTF-8" väl?

Ja, men jeg vil gjerne ha menyer og andre beskjeder på engelsk.
(jeg har forøvrig også testet både LC_ALL="no_NO.UTF-8" og LC_ALL="en_US.UTF-8" med samme resultat)


Förstår jag mycket väl, och dessa finns kvar om jag förstår saken rätt. Vissa compilemeddelanden kommer på svenska hos mig dock... men dina nb_NO.UTF-8 kan väl ändå inte stämma? Bör vad jag ser det, vara no_NO.UTF-8. Vilket jag ser så är dina locales lite fel.
Code:

LANG=en_US.UTF8
LC_CTYPE=nb_NO.UTF8  - Bör vara no_NO.UTF-8
LC_NUMERIC=nb_NO.UTF8 - Se ovan.
LC_TIME=C  - no_NO.UTF-8
LC_COLLATE=nb_NO.UTF8 - no_NO.UTF-8
LC_MONETARY=nb_NO.UTF8 - osv osv
LC_MESSAGES=en_US.UTF8
LC_PAPER=nb_NO.UTF8
LC_NAME="en_US.UTF8"
LC_ADDRESS="en_US.UTF8"
LC_TELEPHONE="en_US.UTF8"
LC_MEASUREMENT=nb_NO.UTF8
LC_IDENTIFICATION="en_US.UTF8"
LC_ALL=


Filen du ska se efter är /etc/locales.build int /etc/build.make. Fel av mig. Denna filen (/etc/locales.build) ser ut så här för mig:
Code:

# This file names the list of locales to be built when glibc is installed.
# The format is <locale>/<charmap>, where <locale> is a locale from the
# /usr/share/i18n/locales directory, and <charmap> is name of one of the files
# in /usr/share/i18n/charmaps/. All blank lines and lines starting with # are
# ignored. Here is an example:
# en_US/ISO-8859-1

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
sv_SE/ISO-8859-1
sv_SE@euro/ISO-8859-15
sv_SE.UTF-8/UTF-8
'

Om du _inte_ har med no_NO.UTF-8/UTF-8, måste du lägga till detta, och eventuellt no_NO/ISO-8859-1. Sedan kompillera om glibc.
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Mon Aug 29, 2005 4:34 pm    Post subject: Reply with quote

Quote:

Code:

/etc/init.d/keymaps restart
/etc/init.d/consolefont restart
env-update
source /etc/profile

... gjør ingen forskjell.
(men når jeg restarter /etc/init.d/keymaps i X, kræsjer hele maskina.... må bruke powerknappen for å restarte)


Varför detta händer vet jag faktiskt inte, men som du själv skrev innan:
Quote:

Når jeg starter en X-applikasjon som f.eks. Scite, får jeg:
Code:

(process:7742): Gdk-WARNING **: locale not supported by Xlib
(process:7742): Gdk-WARNING **: cannot set locale modifier



Detta tyder på att X inte kan hitta din nb_NO.UTF8, eftersom den inte existerar. Ergo, datorn beteer sig besynnerligt åt.
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Mon Aug 29, 2005 5:13 pm    Post subject: Reply with quote

Slik er starten av /etc/locales.build hos meg:
Code:
# This file names the list of locales to be built when glibc is installed.
# The format is <locale>/<charmap>, where <locale> is a locale from the
# /usr/share/i18n/locales directory, and <charmap> is name of one of the files
# in /usr/share/i18n/charmaps/. All blank lines and lines starting with # are
# ignored. Here is an example:
# en_US/ISO-8859-1

nb_NO.UTF-8/UTF-8
en_US.UTF-8/UTF-8
nb_NO/ISO-8859-15
en_US.ISO-8859-1


Quote:
men dina nb_NO.UTF-8 kan väl ändå inte stämma? Bör vad jag ser det, vara no_NO.UTF-8. Vilket jag ser så är dina locales lite fel.

Etter hva jeg har forstått så er nb_NO=norsk_bokmål , og likeledes nn_NO=norsk_nynorsk. (2 offisielle norske skriftspråk, vettu)
Men du har kanskje et poeng, jeg har faktisk ikke testet med no_NO, slik jeg feilaktig kom til å skrive lenger opp.
Jeg tviler vel egentlig på at det har noe å si, siden jeg har jo allerede testet med "en_US.UTF-8" og får akkurat samme resultat da....

Dog skal jeg legge til no_NO.UTF-8 i locales.build og sette igang en ny kompilering av glibc (jeg har ikke så mange andre triks igjen i ermet...).
_________________
/PerJ
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Tue Aug 30, 2005 5:41 am    Post subject: Reply with quote

Ok. Da har jeg lagt til følgende i locales.build:
Code:
no_NO/ISO-8859-1
no_NO@euro/ISO-8859-15
no_NO.UTF-8/UTF-8

... og rekompilert glibc.
/etc/env/02locale er satt til LC_ALL="no_NO.UTF8"
Jeg har kjørt:
Code:
env-update
source /etc/profile

Nå får jeg dette:
Code:
> locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=
LC_CTYPE="no_NO.UTF-8"
LC_NUMERIC="no_NO.UTF-8"
LC_TIME="no_NO.UTF-8"
LC_COLLATE="no_NO.UTF-8"
LC_MONETARY="no_NO.UTF-8"
LC_MESSAGES="no_NO.UTF-8"
LC_PAPER="no_NO.UTF-8"
LC_NAME="no_NO.UTF-8"
LC_ADDRESS="no_NO.UTF-8"
LC_TELEPHONE="no_NO.UTF-8"
LC_MEASUREMENT="no_NO.UTF-8"
LC_IDENTIFICATION="no_NO.UTF-8"
LC_ALL=no_NO.UTF-8

og...
Code:
> locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
de_DE
de_DE@euro
en_HK
en_PH
en_US.iso88591
en_US.utf8
es_MX
fa_IR
fr_FR
fr_FR@euro
it_IT
ja_JP
ja_JP.eucjp
ja_JP.utf8
nb_NO
nb_NO.utf8

Så det ser ut som jeg har ikke no_NO som locale enda.
Jeg prøver:
Code:
> localedef -i no_NO -f UTF8 no_NO.UTF8
cannot open locale definition file `no_NO': No such file or directory

Så hva kan problemet være her...?
_________________
/PerJ
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Tue Aug 30, 2005 6:57 am    Post subject: Reply with quote

Dette begynner forsåvidt å bli litt interessant.
Etter å ha lett i /usr/share/i18n/locales/, så ser jeg at jeg at jeg ikke har noen definisjonsfil for "no_NO".
Jeg har en WmWare-innstallasjon av Fedora Core 4 liggende, så jeg henter ut tilsvarende fil fra den.
Som jeg tidligere antok så inneholder den kun anvisninger for å bruke "nb_NO" definisjonsfilen.
Men når jeg nå prøver å kjøre 'localedef' får jeg dette:
Code:
> localedef -i no_NO -f UTF8 no_NO.UTF8
/usr/share/i18n/locales/nb_NO:31: LC_IDENTIFICATION: unknown character in field `language'
/usr/share/i18n/locales/nb_NO:2155: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/nb_NO:2158: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/nb_NO:2159: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/nb_NO:2165: LC_TIME: unknown character in field `day'
no output file produced because warning were issued

(jeg får selfølgelig akkurat det samme resultatet om jeg kjører 'localedef' på "nb_NO")

Nå aner ikke jeg hvordan syntaxen bør være i nb_NO-filen, men om jeg kikker litt nærmere på f.eks. den første feilen, så ser linje nr. 31 i "nb_NO" fila slik ut:
Code:
language   "Norwegian, Bokm<U00E5>l"

Er det noen som får kjørt 'localedef -i no_NO -f UTF8 no_NO.UTF8' uten feilmeldinger, som har lyst til å dele /usr/share/i18n/locales/nb_NO med meg?

Jeg prøvde også å kjøre 'localedef -i en_US -f UTF8 en_US.UTF8' , og dette gikk uten problemer.
Etter så å ha satt /etc/env/02locale til LC_ALL="en_US.UTF8" og kjørt 'env-update && source /etc/profile', så får jeg ikke lenger noen feilmeldinger når jeg starter X-applikasjoner. Men jeg får fortsatt "invalid encoding" når jeg prøver å kikke på filnavn kodet i UTF-8...

edit: glemte å nevne at jeg også prøvde dette med "nb_NO" fila fra FC4 innstallasjonen med akkurat samme resultat (noe som vel egentlig peker mot at det er noe annet som også er galt her...
_________________
/PerJ
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Tue Aug 30, 2005 8:22 am    Post subject: Reply with quote

Du har rätt i att det finns no_NO, nb_NO och nn_NO. Visste inte om detta. Fel som jag reagerat mest mot är dina UTF8 istället för UTF-8.

Det du lade till i /etc/locales.make ser rätt ut...

vad ger
Code:

localedef -i no_NO -f UTF-8 no_NO.UTF-8

..och
Code:

locale -a | grep no_NO alt locale -a |grep nb_NO ?
*Vad jag ser ger det .utf8  istället för UTF-8 som är mer riktigt.


Plus hur ser det ut i /etc/rc.conf ? (CONSOLEFONT + KEYMAPS + CONSOLETRANSLATION bör vara kommenterade här).
Förslagsvis: Se även över dina /etc/conf.d/keymaps + consolefont filer efter felstaverat utf8 (ska vara: UTF-8 ).

Under /usr/share/i18n/locales hittar jag hos mig sv_SE, sv_FI, nb_NO och nn_NO men ingen no_NO. Att ha nb_NO istället för no_NO verkar ju vettigt i så fall.

Vet faktiskt inte hur ditt system beter sig med din VmWare historia.... Men för att få ordning på din installation av teckenkoder bör du har rätt uppsatt i dina konfigureringar först och främst. Kan ju inte vara fel i alla fall. :) Bäst är tycker jag om du fortfarande har dessa problem, se igenom gentoo dokumentationen en gång till och jämför med vad du har i din maskin. Plus då att du kollar i UTF-8 för norsk/dansk/svensk gentoo - sticky thread. Anteckna det som är vesäntligt för norsk (nb_NO) uppsättning och peta sedan in ändringarna i /etc - filerna. Detta är mitt råd.
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
PerJ
n00b
n00b


Joined: 31 Aug 2003
Posts: 26
Location: Oslo, Norway

PostPosted: Tue Aug 30, 2005 11:26 am    Post subject: Reply with quote

*Klaske seg i hodet*
Du har selvfølgelig helt rett!
Med 'localedef -i nb_NO -f UTF-8 nb_NO.UTF-8' får jeg ingen feilmeldinger, og kan uten problemer skifte til norsk UTF-8.
(det pussige er at jeg tidligere brukte riktig kommando da jeg testa localedef med en_US).

Dette løste det meste av problemene mine, men ett gjenstår fortsatt:
Når jeg kikker på filnavn, kodet i UTF-8, som ineholder nasjonale tegn (æ, ø, å og lingnende) i gnome-applikasjoner, får jeg fortsatt "invalid encoding"... (f.eks når jeg browser med Nautilus, eller med gFTP)
Må jeg kanskje også rekompilere noen bibliotek etter å endelig fått satt riktig locale?
_________________
/PerJ
Back to top
View user's profile Send private message
patrix_neo
Guru
Guru


Joined: 08 Jan 2004
Posts: 376
Location: Svedala

PostPosted: Tue Aug 30, 2005 12:00 pm    Post subject: Reply with quote

Kul att det mesta löste sig för dig. Då har jag inte skrivit helt i onödan då :)

Ja...jag vet inte så mycket, men pango är den komponent som ska sköta teckenkodningen. Eftersom du nu har en glibc med norskt...testa att kompillera om pango ? (Kan finnas fler saker som behövs här, inte säker på hur det ligger till).
_________________
update world set ignorance=off where religion=on
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Scandinavian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum