# [OT]codifica UTF8 e "à" che diventa "?"

## metnik

Ho un sito in locale con codifica UTF-8, GNOME utilizza questa codifica caratteri come predefinita, esporto l'SQL del sito con phpmyadmin, lo reimporto col medesimo e scopro che tutte le a accentate suno diventate palline col punto di domanda dentro... com'è possibile?

Tutte le altre lettere èùì,.. sono apposto.

Com'è possibile?

----------

## randomaze

 *metnik wrote:*   

> Ho un sito in locale con codifica UTF-8, GNOME utilizza questa codifica caratteri come predefinita, esporto l'SQL del sito con phpmyadmin, lo reimporto col medesimo e scopro che tutte le a accentate suno diventate palline col punto di domanda dentro... com'è possibile?
> 
> Tutte le altre lettere èùì,.. sono apposto.
> 
> Com'è possibile?

 

Il file che esporti cosa contiene (ovvero, come si presentano le a accentate)?

----------

## metnik

è tutto in utf8, infatti se metto iso-8859-15 TUTTE le accentate sono sbagliate(Ã piÃ¹), è come se solamente la "à" venisse interpretata male.

in iso-8859-15--> Ã

in uft8 -->�

----------

## rayman2

mi scuso per l'off topic, ma anche io ho un problema del genere:

come posso cambiare la codifica dei caratteri che usa Gnome?

In particolare usando i caratteri che ho impostati per me va tutto bene, ma quando uso lopster gli altri vedono i miei caratteri come diceva metnik in iso-8859-15 e cioè:

à-->Ã

e così per le altre accentate...

----------

## assente

prova a vedere se ti da ancora il problema facendo:

```

LANG="it_IT@euro" lopster

```

Utilizzando la codifica iso invece di utf8 ho notato che ci sono meno problemi di compatibilità

----------

## RedNeckCracker

 *assente wrote:*   

> prova a vedere se ti da ancora il problema facendo:
> 
> ```
> 
> LANG="it_IT@euro" lopster
> ...

 

se legge Bsolar te magna  :Very Happy: 

----------

## rayman2

ma dove devo cambiare questo settaggio?

In rc.conf?

----------

## assente

 *RedNeckCracker wrote:*   

>  *assente wrote:*   prova a vedere se ti da ancora il problema facendo:
> 
> ```
> 
> LANG="it_IT@euro" lopster
> ...

 

 :Question:   Ma infatti ho detto prova! Intendevo come "cosa" provvisoria, nel senso che   è il metodo più veloce per vedere se è quello il problema..

Adesso che sono tornato a iso, mi capita raramente di vedere   :Question:   al posto delle accentate; per lo più capita quando un sito è dichiarato UTF8 e poi ha delle lettere in iso al suo interno

----------

## rayman2

in effetti lanciando Lopster così va tutto bene....

Conclusione?

----------

## assente

no, devi metterlo in /etc/profile

```
export LANG="it_IT@euro"
```

----------

## rayman2

non ha avuto alcun effetto: dove avrò sbagliato?

L'ho messo in fondo al file...

Il metodo di lanciare lopster con quella flag non è troppo accettabile perchè lo posso lanciare solo da root....

----------

## Josuke

beh dovresti dare un source /etc/profile per rendere attive le modifiche su quella shell, usi per caso un xdm? perchè io uso gdm e non ho nessun tipo ti problema di quel genere

----------

## assente

strano (uso gdm) non mi ha dato mai problemi.. prova allora /etc/profile.env

a proposito.. quali dei 2 sarebbe più corretto per tale operazione?

----------

## Josuke

ma...infatti ho scritto che con gdm NON ho mai avuto problemi  :Smile: 

io userei /etc/profile comunque

----------

## rayman2

io uso gdm....

ad ogni modo non riesco a capire

/etc/profile cosa contiene?

A cosa serve dare il comando source /etc/profile?

Comunque dandolo ogni volta che lancio lopster da shell mi tiene la codifica corretta, ma se creo un collegamento dando il comando lopster c'è la visualizzazione errata....

Approfitto per ringraziarvi della disponibilità e prontezza nelle risposte.

----------

## Danilo

 *rayman2 wrote:*   

> io uso gdm....
> 
> ad ogni modo non riesco a capire
> 
> /etc/profile cosa contiene?
> ...

 

/etc/profile e' un file di inizializzazione che contiene, tra l'altro, variabili di ambiente.

Viene chiamato sostanzialmente quando fai un login (qualcuno puo' essere piu' preciso? ho sempre fatto casino su questo punto) con una qualunque utenza.

source /etc/profile esegue /etc/profile nel tuo stesso ambiente. Di fatto dopo aver modificato questo file  source ti evita evitandoti di aprire un'altra shell per vedere tutte le modifiche effettuate.

----------

## Josuke

mm per curiosità..pasta l'output di locale

per il tuo problema...stoppa gdm...loggati in una shell e riavvia gdm..fatto questo non dovresti avere più problemi con lopster...comunque prima di questo posta l'output prima dell'operazione che ti ho detto e dopo così vediamo le differenze..per capire a priori il problema dove possa essere

----------

## rayman2

```
rayman@hal9000 rayman $ locale

LANG=it_IT.UTF-8

LC_CTYPE="it_IT.UTF-8"

LC_NUMERIC="it_IT.UTF-8"

LC_TIME="it_IT.UTF-8"

LC_COLLATE="it_IT.UTF-8"

LC_MONETARY="it_IT.UTF-8"

LC_MESSAGES="it_IT.UTF-8"

LC_PAPER="it_IT.UTF-8"

LC_NAME="it_IT.UTF-8"

LC_ADDRESS="it_IT.UTF-8"

LC_TELEPHONE="it_IT.UTF-8"

LC_MEASUREMENT="it_IT.UTF-8"

LC_IDENTIFICATION="it_IT.UTF-8"

LC_ALL=

```

Questo è l'output di locale.

Se ho capito bene dovrei lanciare source /etc/profile prima che venga lanciato gdm?

----------

## Josuke

l'output è quello giusto...si hai capito bene gdm deve essere lanciato da una shell che ha letto il file aggiornato.

ps. sei sicuro di aver messo il supporto utf8 nel kernel?

----------

## rayman2

dove trovo il supporto utf8 nel kernel 2.6.4?

Ho cercato prima di sfuggita ma non l'ho trovato...

----------

## rayman2

Ok, ci sono vi cito la sezione del kernel incriminata: l'ho modificata così

```
 --- Base native language support                                                             │ │

  │ │                    (iso8859-1) Default NLS Option                                                               │ │

  │ │                    <*>   Codepage 437 (United States, Canada)                                                   │ │

  │ │                    <*>   Codepage 850 (Europe)                                                                  │ │

  │ │                    <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)                                  │ │

  │ │                    <*>   NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)                        │ │

  │ │                    <*>   NLS UTF8                                                                               │ │

```

Prima non c'erano gli ultimi 3 che ho citato.

kernel ricompilato, copiato nella partizione di /boot, aggiornato lilo, riavvio e locale mi da il solito output, ma lopster va sempre con le lettere accentate sbagliate: forse devo ricompilarlo?

----------

## Josuke

mmm no non dovresti compilarlo

io lopster non ce l'ho installato poi provo e vedo se anche a me da questo problema perchè a quanto sembra le nostre configurazioni sono simili

----------

## rayman2

ti ringrazio, non so più dove sbattere la testa...

al limite ti chiedo come fare in modo che venga eseguito gdm dopo aver dato il comando source /etc/profile in fase di avvio.

----------

## Josuke

mm se riavvii il pc non serve dare quel comando...serve solo per aggiornare la shell che stai usando in quel momento, shell che ha i settaggi dell'etc/profile vecchio e che deve rileggere questo file per applicare le modifiche..se cambi l'/etc/profile e ti rilogghi o riavvii il pc automaticamente tutte le shell o terminali che userai leggeranno il file profile nuovo e aggiornato

----------

## rayman2

Ok, da shell è come dici tu...ma per lanciare lopster con un collegamento di Gnome mi lascia con gli accenti sbagliati. Non c'è modo di lanciarlo da collegamento con accenti giusti?

Tra l'altro sempre tornando ai moduli del kernel riguardanti l'utf8...dovevo solo abilitarli nel kernel o modificare qualcosa anche in gnome?

----------

## Josuke

teoricamente...una volta riavviato il pc e lanciato il tuo gdm..x ha letto il file profile nuovo..(quindi con accenti giusti) ogni applicazione che lanci d'ora in poi legge il profile nuovo e quindi il problema dovrebbe essere risolto..se mi dici però che non va..la cosa mi lascia basito..prova a lanciare lopster come avevi fatto quando ti andava e dimmi se vedi bene o no.

Per i moduli del kernel..no dovevi solo abilitarli nel kernel non dovevi fare altro..

Comunque se usi gdm..dovresti cancellare la modifica che hai fatto ad /etc/profile e semplicemente selezionare linguaggio italiano in gdm...io ho fatto così e non ho problemi

----------

## Josuke

dovevi solo abilitarli nel kernel...non ho capito la storia dei collegamenti..dovrebbe essere ininfluente se lo lanci da un terminale oppure da icona di gnome

----------

## rayman2

Stessa cosa, ho notato oggi, mi accade anche se lancio XMMS da gnome: caratteri sballati. Se lancio da shell tutto bene.

Non ci sto capendo nulla.

----------

## Josuke

mmmm se è così come dici in effetti la cosa è molto strana...nelle opzioni di gdm hai messo lingua italiana?

----------

## rayman2

opzioni di gdm?

Cioè quando faccio il login e posso scegliere se riavviare la macchina?

Si, la lingua è italiana.

Mi sono accorto solo ora di questa risposta, domani controllerò meglio facendo più prove...grazie mille ancora.

----------

## rayman2

Allora, piccolo riepilogo:

moduli nel kernel abilitati quelli di cui sopra.

quando appare la schermata di login di gdm (quella nella quale puoi scegliere sessione, se riavviare o spegnere il pc insomma)  la lingua selezionata è l'italiano. La tastiera è generic 105 tasti (Intl) PC con layout selezionato Italian.

La lingua di sistema dovrebbe essere it.

/etc/profile contiene nell'ultima riga:

```
export LANG="it_IT@euro"
```

locale mi dice:

```
root@hal9000 rayman # locale

LANG=it_IT@euro

LC_CTYPE="it_IT@euro"

LC_NUMERIC="it_IT@euro"

LC_TIME="it_IT@euro"

LC_COLLATE="it_IT@euro"

LC_MONETARY="it_IT@euro"

LC_MESSAGES="it_IT@euro"

LC_PAPER="it_IT@euro"

LC_NAME="it_IT@euro"

LC_ADDRESS="it_IT@euro"

LC_TELEPHONE="it_IT@euro"

LC_MEASUREMENT="it_IT@euro"

LC_IDENTIFICATION="it_IT@euro"

LC_ALL=
```

Gnome è in italiano e da Firefox, gedit e tutti gli altri programmi lanciati da collegamento sul desktop o dalla barra di avvio di gnome ci sono le lettere accentate correttamente.

Per lopster ed xmms (non so se sono gli unici programmi che hanno questo comportamento) succede che se li lancio da icona creata da me sul desktop (crea icona di avvio dal tasto destro di gnome) hanno le lettere accentate sbagliate, ma se do lo stesso esatto comando specificato nel collegamento dallo gnome terminal questi partono correttamente. Mi è scomodo lanciarli da shell però perchè mi rimane la shell aperta e mi darebbe fastidio avere un'altra finestra sul desktop.

Altre note: stranamente anche se xmms mi visualizza gli accenti sbagliati nei menu, la playlist segna i titoli delle canzoni correttamente.

Nautilus, visualizzando i files di una partizione fat32 che uso per lo scambio win/gentoo, visualizza i nomi dei file fino al primo carattere accentato escluso, poi riporta (formato Unicode non valido).

Vi chiedo ancora aiuto perchè non riesco a districarmi in tutti questi file di configurazione.

----------

## rayman2

la butto li... lo fa solo nei programmi che usano le gtk...ora provo a ricompilarle.

----------

## rayman2

nulla

----------

## rayman2

Si ringrazia il saggio mello per la soluzione di questo enigma!

 *http://www.wlug.org.nz/GDM wrote:*   

>  GDM (at least for version 2.4.0 and later) in Debian completely ignores your default language/encoding settings, even though the "locales" package sets up the LANG variable in the /etc/environment file. The package maintainer argues that this file is only supposed to be used by PAM, so in the meantime nothing is done. Great.
> 
> The best workaround so far is to add
> 
>   auth       required   pam_env.so
> ...

 

P.S. bisogna editare il nome del thread aggiungendo il tag [RISOLTO] ??? Io di sicuro non posso perchè non si tratta di un mio post, e non so neanche se ne vale la pena dato che il problema di partenza era un altro.

----------

