Realmente Paulo Freitas, o setlocate() nao influi..
Bom, realizei um teste pra concluir isso:
Teste:
http://200.175.79.18...p/setlocale.phpPra ver o código:
http://200.175.79.18.../setlocale.phpsMas aí, lendo o php.ini ... Eu vi o seguinte comentário:
; Enable the PHP scripting language engine under Apache.
engine = On
Pelo o que eu entendi, o meu PHP leva em consideração a lingua utilizada pelo Apache..
Indo no Apache ( httpd.conf ), eu encontrei vários parâmetros relacionados a linguagem.. São eles:
AddLanguage.. Faz o Apache reconhecer as línguas.. O meu Apache inclui entre outras:
AddLanguage pt-BR .pt-br
LanguagePriority.. Apenas as prioridades de aceitação das linguagens.. No meu, o
pt-BR tá lá.
AddDefaultCharset.. Define a codificação default.. Pra reconhecer os acentos, colocar: ISO-8859-1
AddCharset.. Adicionando a codificação pro Apache reconhecer.. No meu tem:
AddCharset ISO-8859-1 .iso8859-1 .latin1
Então, pelo que eu entendí.. É necessário configurar o Apache pra reconhecer a língua corretamente.. Postei uma configuração funcional..
Sempre lembrando, o meu servidor usa Linux.. Como a referência aos países é diferente entre Windows e Linux, não sei se o mesmo se aplica para a codificação de linguagem.
Um detalhe importante.. Retirei todas as referências da língua portuguesa na configuração do Apache, e o script de teste, mesmo assim substituiu o cedilha, ele só confundiu o navegador na codificação e por isso, o navegador não conseguia exibir o cedilha e nem os acentos..
Mas se não resolver o problema do dito cujo, pelo menos é um conhecimento a mais para todos..

Fui.