A continuación os dejo una serie de soluciones que me han ido funcionando históricamente para resolver problemas de locale: LC_TYPE, LC_MESSAGES, LC_ALL.
Actualizado 2019 – Incluyo una forma de solucionar el error de locale en Raspbian Buster.
Solución a error de locale original de 2009:
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
Podemos probar a solucionarlo con:
localedef -i en_US -c -f UTF-8 en_US.UTF-8
Actualizacion 2011: Solucionar errores de locale en Debian
Me he encontrado en una maquina con el siguiente error:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "en_US.UTF-8", LC_COLLATE = "en_US.UTF-8", LC_MESSAGES = "en_US.UTF-8", LANG = "es_ES.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
En este caso, la solucion que explicaba arriba en Febrero de 2010 no sirve, pero esto me ayudo a arreglar el problema.
export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 locale-gen en_US.UTF-8 dpkg-reconfigure locales
Actualizacion 2016: Solucionar error locale en Ubuntu Server
Otra solucion que me ha funcionado hoy mismo en un Ubuntu Server 15.10 ha sido añadir la siguiente linea a /etc/environment
LC_ALL="en_US.UTF-8"
Actualización 2019: Solucionar error locale en Raspbian Buster
Me encuentro con que al cambiar la localización en Raspbian me sale el siguiente mensaje:
perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_TIME = "es_ES.UTF-8", LC_MONETARY = "es_ES.UTF-8", LC_ADDRESS = "es_ES.UTF-8", LC_TELEPHONE = "es_ES.UTF-8", LC_NAME = "es_ES.UTF-8", LC_MEASUREMENT = "es_ES.UTF-8", LC_IDENTIFICATION = "es_ES.UTF-8", LC_NUMERIC = "es_ES.UTF-8", LC_PAPER = "es_ES.UTF-8", LANG = "C" are supported and installed on your system.
Para solucionarlo he hecho:
root@raspi:~# export LC_ALL="en_US.UTF-8" root@raspi:~# LC_ALL="en_US.UTF-8" dpkg-reconfigure locales Generating locales (this might take a while)… en_US.UTF-8… done Generation complete.
Se que resulta redundante el export, pero lo copio tal cual me ha funcionado 🙂