Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

forge

[Resolvido] str_replace nao le ç

Recommended Posts

ola a todos estou iniciando em php e tambem no forum, bom depois de passar um domingo todo aqui entre livros e internet desisti e venho pedir arrego, nao sei o que esta acontecendo estou tentando converter os dados antes de enviar para o banco de dados consegui resolver todo meu problema com relaçao a acentos, mas quanto a ç parece que o php simplesmente ignora ele nao estou entendendo. Segue o codigo abaixo:

 

<?php

include "conecta.inc";

$cidade = $_POST["cidade"];

 

$teste = str_replace("ç","C",$cidade); detalhe aqui se substituo o "ç" por "c" obtenho sucesso e aparece o "C", ja com "ç" nada ocorre e como se o php o ignorasse.

 

echo "Usuario Cadastrado com sucesso, $teste";

?>

 

nao sei o que pode estar ocorrendo, espero que alguem possa me ajudar, detalhe estou usando windows xp, uso appserver 2.5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou com preg_replace()? É problema de codificação mesmo :S

 

<?php
$string = "carroça";
echo preg_replace("/ç/", "", $string); // usa expressão regular ao invés de uma simples string
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente o problema e codificaçao quando estava usando codificaçao utf-8 ocorreu o problema que citei acima, quando uso codificaçao ISO-8859-1 a funcao str_replace funciona corretamente com ç ou seja converte ç em Ç so que se uso utf-8 no arquivo que possui o formulario e uso no arquivo php codificaçao ISO-8859-1 ocorre que o ç e substituido pelo seguinte codigo ç, e se uso no arquivo html que possui o formulario e no arquivo php a codificaçao ISO-8859-1 obtenho sucesso na conversao o problema e que os dados do formulario ficam todos desconfigurados.

 

o problema era realmente a codificaçao o erro que estava dando na codificaçao iso-8859-1 era problema no meu webserver, tive que reinstala pra resolver o problema, grato pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu, mas se ainda vale a dica, padronize.

 

Escolha um charset para trabalhar e faça com que tudo que estiver envolvido no desenvolvimento converse "na mesma lingua".

 

Se você programa PHP em UTF-8, programe o HTML também em UTF-8 e faça com que o Banco de dados leia UTF-8 também.

 

Se você programa PHP em ISO-8859-1, programe o HTML também em ISO-8859-1 e faça com que o Banco de dados leia ISO-8859-1 (latin1_bin) também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.