Re: Problema con locale
El día 27 de septiembre de 2013 15:41, Camaleón <noelamac@gmail.com> escribió:
> El Fri, 27 Sep 2013 09:37:13 +0200, Maykel Franco escribió:
>
>> El día 25 de septiembre de 2013 16:33, Camaleón <noelamac@gmail.com>
>> escribió:
>
> (...)
>
>>>> Sin embargo, desde el nuevo server:
>>>>
>>>> root@pc:~# php -r 'var_dump(setlocale(LC_ALL, "es"));'
>>>> bool(false)
>>>>
>>>> Y tiene aparentemente todo igual...Qué se me puede estar escapando?
>>>
>>> Antes de nada, ejecuta "locale -a" para comprobar que se haya generado
>>> correctamente el alias en el sistema.
>>>
>>> Si el sistema lo reconoce pero php no, entonces tendrías que buscar a
>>> ver de dónde toma php estas variables o si te falta configurar algo en
>>> la parte de php, recargar la configuración...
>>
>> Gracias por contestar Camaleón, en esta maquina es donde no me la
>> reconoce:
>>
>> root@pc:~# locale -a
>> C
> (...)
>> es_ES
>> es_ES.iso88591
>> es_ES.utf8
> (...)
>
> Ostras, cuántas locales :-)
>
> Pero, hum... no veo la que has generado con el alias ("es"). Está la
> "es_ES" ¿es esa la correcta?
>
>> Y esta maquina es donde si lo engancha php:
>>
>> root@moriarty:~# locale -a
>> C
>
> (...)
>
> Pues aquí tampoco aparece el alias "es", así que me decanto porque la
> diferencia en la salida de los comandos esté en la configuración de PHP
> de los dos equipos.
>
>> Reinicié la máquina y demás pero sigue sin cogerlo....
>
> No debería ser necesario reiniciar.
>
> Saludos,
>
> --
> Camaleón
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: http://lists.debian.org/pan.2013.09.27.13.41.24@gmail.com
>
Esto no lo conseguí solucionar. El tema es que un programador quiere
usar el alias es en vez de es_ES, no me preguntéis por que, pero
quiere que sea así, y cuando le lanzas por ejemplo el comando desde
php:
php -r 'setlocale(LC_ALL, "es"); echo strftime("%B"), PHP_EOL;
setlocale(LC_ALL, "en"); echo strftime("%B"), PHP_EOL;'
November
November
Quiere que le devuelva Noviembre, en vez de November.
Ahora mismo está definido así:
root@:~# locale
LANG=es_ES.UTF-8
LANGUAGE=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=es_ES.UTF-8
root@:~# locale -a
C
C.UTF-8
es_AR.utf8
es_BO.utf8
es_CL.utf8
es_CO.utf8
es_CR.utf8
es_CU
es_CU.utf8
es_DO.utf8
es_EC.utf8
es_ES
es_ES.iso88591
es_ES.utf8
es_GT.utf8
es_HN.utf8
es_MX.utf8
es_NI.utf8
es_PA.utf8
es_PE.utf8
es_PR.utf8
es_PY.utf8
es_SV.utf8
es_US.utf8
es_UY.utf8
es_VE.utf8
POSIX
En /etc/locale.alias he añadido "es es_ES.UTF-8" :
bokmal nb_NO.ISO-8859-1
bokm�l nb_NO.ISO-8859-1
catalan ca_ES.ISO-8859-1
croatian hr_HR.ISO-8859-2
czech cs_CZ.ISO-8859-2
danish da_DK.ISO-8859-1
dansk da_DK.ISO-8859-1
deutsch de_DE.ISO-8859-1
dutch nl_NL.ISO-8859-1
eesti et_EE.ISO-8859-1
estonian et_EE.ISO-8859-1
finnish fi_FI.ISO-8859-1
fran�ais fr_FR.ISO-8859-1
french fr_FR.ISO-8859-1
galego gl_ES.ISO-8859-1
galician gl_ES.ISO-8859-1
german de_DE.ISO-8859-1
greek el_GR.ISO-8859-7
hebrew he_IL.ISO-8859-8
hrvatski hr_HR.ISO-8859-2
hungarian hu_HU.ISO-8859-2
icelandic is_IS.ISO-8859-1
italian it_IT.ISO-8859-1
japanese ja_JP.eucJP
japanese.euc ja_JP.eucJP
ja_JP ja_JP.eucJP
ja_JP.ujis ja_JP.eucJP
japanese.sjis ja_JP.SJIS
korean ko_KR.eucKR
korean.euc ko_KR.eucKR
ko_KR ko_KR.eucKR
lithuanian lt_LT.ISO-8859-13
no_NO nb_NO.ISO-8859-1
no_NO.ISO-8859-1 nb_NO.ISO-8859-1
norwegian nb_NO.ISO-8859-1
nynorsk nn_NO.ISO-8859-1
polish pl_PL.ISO-8859-2
portuguese pt_PT.ISO-8859-1
romanian ro_RO.ISO-8859-2
russian ru_RU.ISO-8859-5
slovak sk_SK.ISO-8859-2
slovene sl_SI.ISO-8859-2
slovenian sl_SI.ISO-8859-2
spanish es_ES.ISO-8859-1
swedish sv_SE.ISO-8859-1
thai th_TH.TIS-620
turkish tr_TR.ISO-8859-9
de de_DE.UTF-8
fr fr_FR.UTF-8
it it_IT.UTF-8
nl nl_NL.UTF-8
pt pt_PT.UTF-8
ru ru_RU.UTF-8
es es_ES.UTF-8
La verdad es que no sé que más hacer, me recorrido todo google...El
caso es que en un ubuntu 10.04 sí que funciona:
root@moriarty:~# php -r 'setlocale(LC_ALL, "es"); echo strftime("%B"),
PHP_EOL; setlocale(LC_ALL, "en"); echo strftime("%B"), PHP_EOL;'
noviembre
noviembre
Sus locales:
root@ubuntu-10.04-lts:~# locale -a
C
de_DE.utf8
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
es_AR.utf8
es_BO.utf8
es_CL.utf8
es_CO.utf8
es_CR.utf8
es_DO.utf8
es_EC.utf8
es_ES.utf8
es_GT.utf8
es_HN.utf8
es_MX.utf8
es_NI.utf8
es_PA.utf8
es_PE.utf8
es_PR.utf8
es_PY.utf8
es_SV.utf8
es_US.utf8
es_UY.utf8
es_VE.utf8
fr_FR.utf8
it_IT.utf8
nl_NL.utf8
POSIX
pt_PT.utf8
ru_RU.utf8
root@ubuntu-10.04-lts:~# locale
LANG=es_ES.UTF-8
LANGUAGE=
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=
Lleva tiempo configurado ese ubuntu y por más que miro la config no
veo nada diferente...Excepto el LC_ALL y el LANGUAGE pero también los
he cambiado con export y nada...
No sé que más hacer sinceramente...
Gracias.
Saludos.
Reply to: