# UTF-8 e accentate [RISOLTO]

## guerro

Ciao raga, da un paio di giorni sono migrato ad UTF-8, solo che mi capita questa stranezza:

quando digito il tasto di una delle accentate, in console non mi prende la lettera, se però digito un altro tasto (ad esempio SPACE), al prompt mi compare sia la lettera accentata che lo SPACE.

Qualcuno ha qualche idea in merito per spiegare questo strano fenomeno?

Nella migrazione ho seguito la guida su gentoo.org

----------

## ^Stefano^

io ho seguito anche questa guida e mi sono trovato bene

https://forums.gentoo.org/viewtopic-t-298829.html

facci sapere!

----------

## guerro

Ho provato a seguire quanto detto nel topic, ma il  problema persiste....

Ho come la sensazione che ci siano problemi con la mappatura della tastiera, infatti è strano che premendo il tasto con la lettera accentata, questa non venga mandata come output sullo schermo, ma venga come tenuta in buffer e quando poi premo il tasto di una lettera standard il buffer è svuotato e compaiono sia la lettera accentata che quella del tasto successivo.....

Mi sà che se non riesco a risolvere il problema torno alla vecchia codifica it_IT@euro, anche se la cosa mi spiacerebbe molto.   :Crying or Very sad:   :Crying or Very sad: 

P.S:

a proposito qualcuno sà le differenze fra la keymap IT, IT2 e IT.IBM?!?!

----------

## ^Stefano^

due domande:

@ per consolle intendi un normale terminale, gnome-terminal o konsolle, per esempio, o proprio il sistema in modalità non grafica?

@ la variabile keymaps in /etc/conf.d/keymaps è impostata ad it oppure ad IT?

----------

## guerro

La console che intendo è quella in modalità testuale per intenderci (la console su display 1,2,3,4,5,6)

la keymap è impostata con "it" (minuscole)

P.S.

la macchina è un server che non ha modalità grafica a parte il FrameBuffer.

----------

## guerro

Non so cosa sia successo, ma con un paio di riavvii della macchina pare che il problema si sia risolto in compenso se ne è aperto un'altro (sempre strettamente legato):

mc se aperto da console testuale della macchina mi compare strano (le linee contiune che disegnano la maschera sono sostituite da "+", "-", "|") inoltre i caratteri accentati digitati dalla tastiera sono interpretati come dei comandi (tipo l'F4 o l'F10) e non come lettere da scrivere.

Se aperto via ssh da un altro pc le linee sono corrette, ma permane il problema delle accentate...

Bel casino vero?!?!?

----------

## ^Stefano^

postaci

/etc/env.d/02locale

/etc/locale.gen oppure /etc/locales.build se non hai glibc aggiornate.

/etc/conf.d/keymaps

/etc/conf.d/consolefont

/etc/rc.conf

hai la use unicode attivata?

hai affettuato una ricompilazione con

revdep-rebuild --library libncursesw.so.5 ?

la tua versione di baselayout è aggiornata? il tuo sembra un problema con unicode, hai gli stessi problemi di quando utf-8 non è supportato e unicode non funziona bene.

----------

## guerro

02locale

```
#LC_ALL="it_IT@euro"

#LANG="it_IT@euro"

LC_ALL="it_IT.UTF-8"

LANG="it_IT.UTF-8"

```

Consolefont

```
# /etc/conf.d/consolefont

# $Header: /var/cvsroot/gentoo-src/rc-scripts/etc/conf.d/Attic/consolefont,v 1.1.2.2 2005/05/14 20:44:41 vapier Exp $

# CONSOLEFONT specifies the default font that you'd like Linux to use on the

# console.  You can find a good selection of fonts in /usr/share/consolefonts;

# you shouldn't specify the trailing ".psf.gz", just the font name below.

# To use the default console font, comment out the CONSOLEFONT setting below.

# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do

# not want to use it, run "rc-update del consolefont" as root).

CONSOLEFONT="lat9w-16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use

# the default one.  Have a look in /usr/share/consoletrans for a selection of

# map files you can use.

CONSOLETRANSLATION="8859-15_to_uni"

```

Keymaps

```
# /etc/conf.d/keymaps

# $Header: /var/cvsroot/gentoo-src/rc-scripts/etc/conf.d/keymaps,v 1.1.4.1 2005/02/19 02:13:53 vapier Exp $

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="it"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="yes"

# The maps to load for extended keyboards.  Most users will leave this as is.

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

# Tell dumpkeys(1) to interpret character action codes to be 

# from the specified character set.

# This only matters if you set UNICODE="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET=""

```

locales.build

```
# 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

it_IT/ISO-8859-1

it_IT@euro/ISO-8859-15

it_IT.UTF-8/UTF-8

```

rc.conf

```
# /etc/rc.conf: Global startup script configuration settings

# UNICODE specifies whether you want to have UNICODE support in the console.  

# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and 

# KEYMAP in the /etc/conf.d/consolefont and /etc/conf.d/keymaps config files.

UNICODE="yes"

# Set EDITOR to your preferred editor.

# You may use something other than what is listed here.

EDITOR="/bin/nano"

#EDITOR="/usr/bin/vim"

#EDITOR="/usr/bin/emacs"

# What display manager do you use ?  [ xdm | gdm | kdm | entrance ]

#DISPLAYMANAGER="xdm"

# XSESSION is a new variable to control what window manager to start

# default with X if run with xdm, startx or xinit.  The default behavior

# is to look in /etc/X11/Sessions/ and run the script in matching the

# value that XSESSION is set to.  The support scripts are smart enough to

# look in all bin directories if it cant find a match in /etc/X11/Sessions/,

# so setting it to "enlightenment" can also work.  This is basically used

# as a way for the system admin to configure a default system wide WM,

# allthough it will work if the user export XSESSION in his .bash_profile, etc.

#

# NOTE:  1) this behaviour is overridden when a ~/.xinitrc exists, and startx

#           is called.

#        2) even if ~/.xsession exists, if XSESSION can be resolved, it will

#           be executed rather than ~/.xsession, else KDM breaks ...

#

# Defaults depending on what you install currently include:

#

# Gnome - will start gnome-session

# kde-<version> - will start startkde (ex: kde-3.0.2)

# Xsession - will start a terminal and a few other nice apps

#XSESSION="Gnome"

```

 *^Stefano^ wrote:*   

> hai la use unicode attivata? 

  Si

 *^Stefano^ wrote:*   

> hai affettuato una ricompilazione con revdep-rebuild --library libncursesw.so.5 ? 

  Ho ricompilato con revdep-rebuld --soname libncurses.so.5

 *^Stefano^ wrote:*   

> la tua versione di baselayout è aggiornata? 

  Si a 4 gg fa

P.S. che differenza c'è fra usare locales.build e locale.gen  :Question:   :Question: 

----------

## bandreabis

Prova a commentare  *Quote:*   

> CONSOLETRANSLATION="8859-15_to_uni" 

  da /etc/conf.d/consolefont.

Locale.gen è il nuovo file di configurazione, praticamente come locales.build ma con gli spazi al posto delle "/".

Per ora locale.gen è creato a partire da locales.build con 

```
locale-gen
```

.

Andrea

----------

## syntaxerrormmm

Qui qualche informazione in più su locale.gen e locale.build.

Ciao.

----------

## guerro

Ho aggiornato locales modificando manualmente il .gen ed eliminando il vecchio .build

Per provare a commentare il CONSOLETRANSLATION="8859-15_to_uni" credo sia meglio che lo faccia quando sono a casa dato che dal lavoro posso solo collegarmi via SSH e dato che probabilmente dopo la modifica vada riavviato il sistema credo sia meglio appunto non farlo se non si è sul posto...

----------

## ^Stefano^

ti posto i file che io ho configurato diversamente, così magari puoi fare delle prove:

02locale

```
#### UTF-8

LC_ALL="it_IT.UTF-8"

MM_CHARSET="it_IT.UTF-8"

LANG="it_IT.UTF-8"

LC_MESSAGES="it_IT@euro"

```

keymaps

```
# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="it"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="no"

# The maps to load for extended keyboards.  Most users will leave this as is.

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

# Tell dumpkeys(1) to interpret character action codes to be

# from the specified character set.

# This only matters if you set UNICODE="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET=""

```

tienici aggiornati...Anche se io sto un po esaurendo le idee   :Embarassed: 

come ripeto l'unica cosa che mi viene in mente è che unicode non sia gestito al meglio. speriamo che il problema sia solo nei file mal configurati.

P.S. ma quando hai editato /etc/locales.build hai poi ricompilato le glibc?

----------

## guerro

Sì, le ho ricompilate, come per altro indicava la guida...

Questa sera provo, non vorrei appunto che la variabile LC_MESSAGES o la variabile SET_WINDOWKEYS abbiano una qualche influenza...

Appena provato vi faccio sapere

----------

## guerro

Ho fatto qualche prova, ma nulla è cambiato. Da una più attenta analisi credo che il problema possa essere suddiviso in 2 (infatti pensavo di aprire un altro thread più specifico e indicare come risolto questo):

1) I caratteri visualizzati nella maschera di MC utilizzati per comporre le linee (in una console di testo sono visualizzati con "-", "+", "|", mentre in una console grafica come quella di KDE vengono visualizzate giuste)

2) le lettere accentate che non sono "digitabili" (infatti in testi che le contengono, queste sono visualizzate)

Relativamente al problema 2 (quello più importante a mio avviso) ho notato che non dipende dal charset corrente (ho lo stesso problema sun un PC con impostato it_IT@euro ISO-8859-15). A riprova le lettere digitate al prompt della console vengono stampate a video normalmente, per cui sono portato a credere che sia proprio un problema di MC.

----------

