Jump to content


Photo

Problema Com Charset Uft8 Substituicao De Caracteres


  • Faça o login para participar
5 replies to this topic

#1 AndreBrunelli

AndreBrunelli

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 11/01/2009, 15:33

E ai galera beleza? to perdendo mto tempo tentando resolver um problema que nao sei como resolver... talvez voces possam me ajudar.

Negocio é simples tenho um problema que é ja conhecido mas nao consegui resolver mesmo entrando em varios foruns....

tenho uma tela simples de cadastro de produtos apenas com o titulo do produto mais a descricao dele, meu banco esta em utf8, tenho os metas
<meta http-equiv="content-type" content="text/html; charset=utf8" />
em todas as paginas e no firefox aparece bonitinho os caracteres acentuados, ja no ieca nao (aparece assim: Não , o que deveria ser não) . bom, mesmo trocando para latim o bd e colando

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
tambem nao consigo arrumar o problema....

mesmo quando consigo arrumar o IE, atraplho no firefox....
sendo assim, entao pensei em fazer alguma funcao para os caracteres acentuados fossem trocados (no submit antes de ir para o bd) pelo seus respectivos como &aacute; .... e assim por diante...

alguem sabe como eu posso fazer essa funcao? se posso fazer em php ou javascript? se faço com replace ou nao ... realmente nao sei mto, o que ta dificultando...

aguardo ajuda de alguem obrigado

#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 11/01/2009, 15:40

Utilize htmlentities().
Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 AndreBrunelli

AndreBrunelli

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 11/01/2009, 16:36

Utilize htmlentities().
Até mais ^_^


Fala dudu, realmente nao conhecia essa funcao, tava olhanu aki no php os exemplos e tal... mas sera que vc poderia tirar soh uma duvida? tenho o formulario
conforma abaixo:

<form action="acoes/cadastraProduto.php" method="post" enctype="multipart/form-data" name="textoForm" id="textoForm" onSubmit="return alerta(this);">
			<table style="margin-left:15px;" width="600" border="0" cellspacing="2" cellpadding="2">
			  <tr>
				<td colspan="2" align="center" valign="top" class="fonte">&nbsp;</td>
			  </tr>
			  <tr>
				<td height="21" colspan="2"><h3>Cadastrar um novo produto</h3></td>
			  </tr>	  
			  <tr>
				<td colspan="2" align="center"></td>
			  </tr>
			  <tr>
				<td width="206" valign="top" class="texto" align="left">Nome do Produto:&nbsp;</td>
				<td width="380" align="left" valign="top">
				  <input name="titulo" type="text" class="caixa" id="titulo" size="62" maxlength="50"/>   
				</td>
			  </tr>
			  <tr>
				<td width="206" valign="top" class="texto" align="left">Aparecer na p&aacute;gina de produtos?&nbsp;</td>
				<td width="380" align="left" valign="top" class="texto"><strong>
				  <input name="aparecer" type="radio" value="1" />
				  &nbsp;Sim
				  <input name="aparecer" type="radio" value="0" />
				  &nbsp;N&atilde;o</strong> </td>
			  </tr>
			  <tr>
				<td align="left" valign="top"><span class="texto">Descri&ccedil;&atilde;o do produto:</span></td>
				<td align="left" valign="top">
				  <textarea name="texto" cols="59" rows="5" class="caixa" id="texto" onKeyUp="contaCaracteres()"></textarea>				</td>
			  </tr>
			  <tr>
				<td align="left" valign="top"><span class="texto">* M&aacute;ximo 400 caracteres</span></td>
				<td align="left" valign="top">
				   <input name="caracteres" type="text" class="caixa" id="caracteres" size="3"/>				</td>
			  </tr>
			  <tr>
				<td align="center" valign="top">&nbsp;</td>
				<td align="left" valign="top">
				<?php	if(isset($_GET['cad']))
					//HTTP_GET_VARS TROCADO PARA GET
					$cad = $_GET['cad'];
				else
					$cad = "";
							if($cad == 1) 
								echo "<br><span class='msgErro'>Cadastro realizado com sucesso </span>";
			   ?>			   </td>
			  </tr>
			  <tr>
				<td colspan="2" align="center" valign="top"><input class="botao" type="submit" name="Submit" value="Cadastrar" />				</td>
			  </tr>
			</table>
		</form>

entao... como que eu vou pegar, por exemplo, o campo titulo e depois enviar isso para o banco????
:unsure: to garrando nisso... vlw

#4 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 11/01/2009, 18:43

:ponder... o que é isso a´pi em baixo...??? o que tem haver com o lance do form e tals :|

<?php	if(isset($_GET['cad']))
					//HTTP_GET_VARS TROCADO PARA GET
					$cad = $_GET['cad'];
				else
					$cad = "";
							if($cad == 1) 
								echo "<br><span class='msgErro'>Cadastro realizado com sucesso </span>";
			   ?>			   </td>
			  </tr>

Bom deixando isso de lado... levo em conta que stá enviado o form via POST então no arquivo cadastraProduto.php deve ter algo que receba os dados vondos do form então lá onde estará $_POST['titulo']

Vc trabalhará com htmlentities($_POST['titulo'])

sacou?

Faça assim com todos os dados que queria tratar mas se tiver tags HTML aí vai dar problema na hora de retornar os dados numa consulta...

Sem cod html fica o bixo :D

(y)Até mais

#5 AndreBrunelli

AndreBrunelli

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 12/01/2009, 19:47

:ponder... o que é isso a´pi em baixo...??? o que tem haver com o lance do form e tals :|

<?php	if(isset($_GET['cad']))
					//HTTP_GET_VARS TROCADO PARA GET
					$cad = $_GET['cad'];
				else
					$cad = "";
							if($cad == 1) 
								echo "<br><span class='msgErro'>Cadastro realizado com sucesso </span>";
			   ?>			   </td>
			  </tr>

Bom deixando isso de lado... levo em conta que stá enviado o form via POST então no arquivo cadastraProduto.php deve ter algo que receba os dados vondos do form então lá onde estará $_POST['titulo']

Vc trabalhará com htmlentities($_POST['titulo'])

sacou?


Faça assim com todos os dados que queria tratar mas se tiver tags HTML aí vai dar problema na hora de retornar os dados numa consulta...

Sem cod html fica o bixo :D

(y)



opa.. obrigado ai pela ajuda, realmente fui muito lerdo de nao perceber que era ali hehe, o formulario eh enviado para outro arquivo onde soh tem codigo php, e coloquei do jeito que vc falou.... mas depois de todas essas tentativas acho que cheguei a conclusao que esse conflito pode ser por eu estar testando localmente, pq estou usando o easy php, e o site ainda nao esta no ar.

Peguei um outro site meu que esta funcionando perfeitamente e tb tem uma coisa mtoooooooo parecida que eh um controle de cadastro de noticias e localmente cadastrei uma noticia tb com acentos e percebi que tb da o mesmo problema e online nao... entao vou esperar colocar o site no ar para ver se o problema persiste? ok?

aviso daqui a alguns dias qdo o site estiver no ar. obrigado por enquanto aos que ajudaram :D (y)

o problema era a codificacao no ie mesmo, resolvido agora... um simples botao direito->exibir-> codificacao.... e mudei pra uft8

#6 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 13/01/2009, 07:31

lembre-se AndreBrunelli que fazer isso de mudar no IE não é feito por todos os usuarios. A maioria ainda verá o problema lá!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq