Si intentamos mostrar una fecha en PHP es posible que nos encontremos que salga con el formato:
July 31, 2007
Para que se muestre correctamente debemos usar el “locale” correcto que haga que se muestre la fecha en el formato adecuado. Los locales más habituales son del estilo de éstos:
es_ES es_ES.ISO_8859-1
Para establecer un locale se usa la siguiente función:
@setlocale(LC_TIME, 'es_ES');
El problema es que hay que hay que poner el nombre exacto del locale ya que de otra forma no funcionará. Aquí tenéis un sencillo script en PHP que te ayudará a saber qué locales están instalados en tu servidor:
<?php echo "<hr><br>'Locale' disponibles:<br>"; echo '<pre>'; system('locale -a'); echo '‘; ?>
Si quieres que se muestren sólo los españoles:
<?php echo "<hr><br>'Locale' disponibles:<br>"; echo '<pre>'; system('locale -a | grep -i es'); echo '‘; ?>