Php Não Reconhece Ç
Started By juseh, 15/02/2006, 21:32
20 replies to this topic
#16
Posted 16/02/2006, 18:47
Velria postar como ficaou o código em um antes e depois para quem tiver o mesmo problema.
Quem sabe ainda alguém não faz um "serviço de branco" nessa gambiarra
Abraços
Quem sabe ainda alguém não faz um "serviço de branco" nessa gambiarra
Abraços
#17
Posted 16/02/2006, 20:41
setlocale() vai variar muito de servidor para servidor ...
O bom é fazer como o balala disse fazer usar com muitas possibilidades assim tentar cobrir um maior número de servidores.
Se não funcionar com um funciona com outro ... rs ... mas não é 100% ... bom comigo funcionou como eu postei antes pra vc ... aliás funcionou sem o setlocale() tbm rs*
mas ... já que conseguiu com a gambi posta ae ... como disse o jackpot é válido postar a solução para ajudar outros que pssam ter a mesma experiência ...
se se quiser tentar de outra forma com o setlocale() poderia ser assim:
O link do post que o balala fala sobre isso é este ... :
http://forum.wmonlin...ndpost&p=699036
Até mais
O bom é fazer como o balala disse fazer usar com muitas possibilidades assim tentar cobrir um maior número de servidores.
Se não funcionar com um funciona com outro ... rs ... mas não é 100% ... bom comigo funcionou como eu postei antes pra vc ... aliás funcionou sem o setlocale() tbm rs*
mas ... já que conseguiu com a gambi posta ae ... como disse o jackpot é válido postar a solução para ajudar outros que pssam ter a mesma experiência ...
se se quiser tentar de outra forma com o setlocale() poderia ser assim:
setlocale(LC_ALL, 'ptb', 'pt_BR', 'portuguese-brazil', 'bra', 'brazil', 'pt_BR.utf-8', 'pt_BR.iso-8859-1', 'br');
O link do post que o balala fala sobre isso é este ... :
http://forum.wmonlin...ndpost&p=699036
Até mais
Crab - Ex-Administrador Geral fórum WMO
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#18
Posted 17/02/2006, 13:27
Até onde sei, setlocale() não se aplica à função str_replace(), pelo menos nunca li nada à respeito ...
Aqui seu código funciona sem problemas sem o uso da função setlocale().
Não sei se seu código é apenas isto, mas já tentou debugá-lo em várias partes ? Tipo ... imprimir o valor da string antes e depois de passar o str_replace(), tentar modificar outro texto, adicionar outro texto acentuado na string e tentar modificá-lo ...
Codificar é apenas uma parte da programação. Debug vem logo depois ...
Só para constar, qual a versão do PHP utilizada ?
Poderia disponibilizar este código acima online, para vermos o que não acontece ? Sei lá, só vendo para crer ... *rs*
[]’s Até mais
Aqui seu código funciona sem problemas sem o uso da função setlocale().
Não sei se seu código é apenas isto, mas já tentou debugá-lo em várias partes ? Tipo ... imprimir o valor da string antes e depois de passar o str_replace(), tentar modificar outro texto, adicionar outro texto acentuado na string e tentar modificá-lo ...
Codificar é apenas uma parte da programação. Debug vem logo depois ...
Só para constar, qual a versão do PHP utilizada ?
Poderia disponibilizar este código acima online, para vermos o que não acontece ? Sei lá, só vendo para crer ... *rs*
[]’s Até mais
#19
Posted 17/02/2006, 21:19
Pois é eu tbm achei estranho pois funcionou no meu servidor local e no remoto sem o setlocale().
Até mais
Até mais
Crab - Ex-Administrador Geral fórum WMO
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#20
Posted 17/02/2006, 22:36
Realmente Paulo Freitas, o setlocate() nao influi..
Bom, realizei um teste pra concluir isso:
Teste: http://200.175.79.18...p/setlocale.php
Pra ver o código: http://200.175.79.18.../setlocale.phps
Mas aí, lendo o php.ini ... Eu vi o seguinte comentário:
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:
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:
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.
Bom, realizei um teste pra concluir isso:
Teste: http://200.175.79.18...p/setlocale.php
Pra ver o código: http://200.175.79.18.../setlocale.phps
Mas aí, lendo o php.ini ... Eu vi o seguinte comentário:
Pelo o que eu entendi, o meu PHP leva em consideração a lingua utilizada pelo Apache..; Enable the PHP scripting language engine under Apache.
engine = On
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.
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com
System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38
chinello at gmail dot com
System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38
#21
Posted 23/02/2006, 16:58
o problema era q a string tava em utf8, entao a solucao era essa:
novamente, obrigado pela atencao
str_replace(utf8_encode('serviço filiado ao Google'), 'Orkut.com', $html);
novamente, obrigado pela atencao
Conheça o mais novo redirecionador da internet brasileira!
www.vaila.net
O seu endereço na internet, de graça.
www.vaila.net
O seu endereço na internet, de graça.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)