Perl locale problems

The site directory migrate module is currently enabled, unless you are doing the migration right now, there's no reason to leave it enabled.

Aleluya!
Por fin encuentro solución a un problema que ya había dejado por imposible.
El problema era que CUALQUIER script en Perl de mi sistema se quejaba de los locales:

sudo apt-cache search man-pages
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LC_ALL = "es_ES@euro",
        LANG = "es_ES@euro"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Viendo http://search.cpan.org/dist/perl/pod/perllocale.pod, he hallado la solución.

Resulta que el locale es_ES@euro no existe tal cual en el sistema, para ello consultamos:

ls /usr/share/locale/
C                en_AU.US-ASCII   fr_CA            ko_KR.UTF-8      ro_RO.ISO8859-2
...
de_AT            es               is_IS.ISO8859-1  no               sv_SE.UTF-8
de_AT.ISO8859-1  es_ES            is_IS.ISO8859-15 no_NO            tr
de_AT.ISO8859-15 es_ES.ISO8859-1  is_IS.UTF-8      no_NO.ISO8859-1  tr_TR
de_AT.UTF-8      es_ES.ISO8859-15 it               no_NO.ISO8859-15 tr_TR.ISO8859-9
de_CH            es_ES.UTF-8 
...

Ahora simplemente con:

export LANG=es_ES.ISO8859-15
export LC_ALL=es_ES.ISO8859-15

ya no vuelven a salir molestos mensajes.

Alternativamente ...

Pedes generarlas:

root@zion:/home/deuteron# cat /etc/locale.gen
es_ES@euro  ISO-8859-15
root@zion:/home/deuteron# locale-gen
Generating locales...
  es_ES.ISO-8859-15@euro... done
Generation complete.

Y supuestamente deben funcionarte, si no utilizas las @euro es posible que el simbolito € se pierda por algún sitio ;-)

eso es una Debian?

Eso es una Debian no? Es que a raiz de este post me he puesto a mirar cosas sobre las locales y en Gentoo no encuentro un locale-gen.

Yo nunca he tenido ese problema pero si lo tienen gente que conozco y mi solucion era la misma que aporta Jack pero ahora personalmente encuentro mas adecuada la solucion aportada por Deuteron.

Supongo que el export tendra mas o menos esta pinta:

export LANG=es_ES.ISO-8859-15@euro

Por otra parte, en Gentoo, yo tengo:

export LANG="es_ES"

y al compilar glibc se me generan las locales:

arrase@dante ~ $ cat /etc/locales.build

....

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

y la tecla € funciona.

Lo es

Si, las distribuciones en las que lo he probado han sido Debian y Ubuntu, supongo que gentoo tendrá su poropia herramienta para generarlas .

En cuanto a lo del export, sí tiene esa pinta, lo que pasa es que si solo has generado las de la codificación ISO-8859-15 puedes poner símplemente "export LANG=es_ES@euro" y funciona.

Vaya, curioso lo de la tecla del euro.