quarta-feira, 2 de dezembro de 2009

PHP: O que fazer quando a função setlocale retorna false no Debian Squeeze

A função setlocale(LC_ALL, 'pt_BR', 'ptb'); no meu Debian Squeeze (Testing) retornava apenas false. Segundo o manual oficial do PHP, a função setlocale retorna false "se a funcionalidade de locais não estiver implementada em sua plataforma, o local não existir ou a categoria for invalida".

Com o comando locale -a eu obtia apenas três locales. Nenhum deles era o pt_BR.

Resolvi tentar o aptitude search e para a minha surpresa descobri como resolver este problema.

Simplesmente instale o pacote locales-all (# aptitude install locales-all), reinicie o Apache (# /etc/init.d/apache2 restart) e pronto :)

Um abraço, até a próxima.

Um comentário:

João Batista disse...

http://elcio.com.br/configurando-o-locale-no-ubuntu/

E depois

setlocale(LC_ALL, 'pt_BR.UTF-8');