PHP: setlocale en Windows 7
Frecuentes
Visto 7,755 veces
2
Tengo un problema con la función setlocale en PHP 5.3 en Windows 7.
Necesito configurar la configuración regional rusa con codificación UTF-8. Vi algunas soluciones donde esto es Russian_Russia.65001, pero la función con este tipo de configuración regional devuelve FALSO.
Todas las soluciones se diseñaron para usar en Windows XP, donde la lista de configuraciones regionales estaba en el Panel de control. En Windows 7 se eliminó esta función.
2 Respuestas
7
No es posible utilizar locales UTF-8 en sistemas Windows.:
Si proporciona una página de códigos como UTF-7 o UTF-8, setlocale fallará y devolverá NULL.
Sólo página de códigos de Windows Russian_Russia.1251
funcionará (ver Tabla de locales de Moodle).
Todavía puede intentar configurar ambos y ver cuál pasa:
if ($newLocale = setLocale(LC_CTYPE, 'ru_RU.UTF-8', 'Russian_Russia.1251'))
{
echo 'Locale is now set to: ' . $newLocale;
}
Respondido el 06 de diciembre de 13 a las 09:12
2
Esto funcionó para mí en Windows 7
putenv('LANG=fr_CA.UTF-8');
setlocale(LC_ALL,'fr_CA.UTF-8');
bindtextdomain('translation','./language');
bind_textdomain_codeset('translation','UTF-8');
textdomain('translation');
Ruta a archivos .po/.mo
./language -> fr_CA.UTF-8 -> LC_MESSAGES -> translation.po
./language -> fr_CA.UTF-8 -> LC_MESSAGES -> translation.mo
contestado el 20 de mayo de 14 a las 19:05
Por supuesto, aquí fr_CA significa francés-canadiense (no ruso) - CloutsCa
Bienvenido a SO, y gracias por su respuesta. Si observa la pregunta con más detalle, notará que tiene casi 2 años y que el autor ya había aceptado la respuesta de que sintió que respondió su pregunta adecuadamente. Esta pregunta ha tenido casi mil visitas, por lo que es posible que esté ayudando a alguien, en algún momento, con esto, pero en realidad es mejor dedicar su atención a las preguntas más recientes. Nuevamente, gracias por su respuesta, se agradece, solo estoy tratando de guiarlo en el uso de SO y su participación en la comunidad. - Ingeniero de software
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php windows encoding or haz tu propia pregunta.
Ese pequeño código es el resultado de medio día de investigación :) Solo espero que la Sra. tenga razones sólidas para no admitir UTF-8. ¡Es 2013! - piotr_cz