perl: warning: Please check that your locale settings LC_ALL = (unset)

Può capitare in Ubuntu che compaia un warning perl in cui si evidenzia l’impossiiblità di impostare LC_ALL al “default locale” cioè  ai dati di localizzazione di default.

LC_ALL = (unset),
...
locale: Cannot set LC_ALL to default locale: No such file or directory

Il messaggio di errore che compare ad esempio in Ubuntu 12.04 e ubuntu 12.10  è del tipo:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
 LANGUAGE = "en_US:en",
 LC_ALL = (unset),
 LC_TIME = "it_IT.UTF-8",
 LC_MONETARY = "it_IT.UTF-8",
 LC_ADDRESS = "it_IT.UTF-8",
 LC_TELEPHONE = "it_IT.UTF-8",
 LC_NAME = "it_IT.UTF-8",
 LC_MEASUREMENT = "it_IT.UTF-8",
 LC_IDENTIFICATION = "it_IT.UTF-8",
 LC_NUMERIC = "it_IT.UTF-8",
 LC_PAPER = "it_IT.UTF-8",
 LANG = "en_US.UTF-8"
 are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory

I dati di  localizzazione di default in questo esempio sono  it_IT.UTF8. Per risolvere il warning  installare o reistallare con local-gen i dati di localizzazioni di default che in questo caso sono appunto  it_IT.UTF8.

maurizio@UU12041:~$ sudo locale-gen it_IT.UTF-8
it_IT.UTF-8... done
Per installare/reinstallare oltre a it_IT.UTF-8 anche i dati localizzazione di tipo più generale relativi all’italia  si possono utilizzare anche it e  it_IT

maurizio@UU12041:~$ sudo locale-gen it it_IT it_IT.UTF-8
it_CH.UTF-8... done
it_IT.ISO-8859-1... done 
it_IT.UTF-8... done

.
Quindi applicare i cambiamenti con dpkg-reconfigure locales

maurizio@UU12041:~$ sudo dpkg-reconfigure locales
Generating locales...
 en_AG.UTF-8... done
 en_AU.UTF-8... done
 en_BW.UTF-8... done
 en_CA.UTF-8... done
 en_DK.UTF-8... done
 en_GB.UTF-8... done
 en_HK.UTF-8... done
 en_IE.UTF-8... done
 en_IN.UTF-8... done
 en_NG.UTF-8... done
 en_NZ.UTF-8... done
 en_PH.UTF-8... done
 en_SG.UTF-8... done
 en_US.UTF-8... done
 en_ZA.UTF-8... done
 en_ZM.UTF-8... done
 en_ZW.UTF-8... done
 it_CH.UTF-8... done
 it_IT.ISO-8859-1... up-to-date
 it_IT.UTF-8... up-to-date
Generation complete.

Per visualizzare i dati di localizzazione si può utilizzare il comando locale -a

 
maurizio@UU12041:~$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
it_CH.utf8
it_IT
it_IT.iso88591
it_IT.utf8
POSIX
zh_CN.utf8
zh_SG.utf8

Altro comando utile per la sessione doi terminale corrente è export

maurizio@Lub1210kvm:/home/maurizio# export LC_ALL="en_US"
bash: warning: setlocale: LC_ALL: cannot change locale (en_US): No such file or directory

Lascia un commento