Ir para conteúdo

POWERED BY:

Arquivado

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

Victor Vaizard

[Resolvido] [ERRO] Acentuação

Recommended Posts

Bom, eu tenho um script que puxa os estados e cidades do banco de dados diretos pra um input. Ele puxa os estados normal as acentuações estão de boa, mais quando puxa as cidades todas elas ficam com aquelas letras feia ao invés de acentos, como podem ver na print:

 

Imagem Postada

 

 

 

 

E aqui as paginas/script:

 

index.php

 

<?php require_once("conf.php"); ?> 
<?php require_once("conecta.php"); ?>
<?php include("funcPHP/estados.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $CONF['titulo']; ?></title>
<script language="JavaScript" src="js/jQuery.js"></script>
<script src="js/colorbox/jquery.colorbox.js"></script>
<script src="js/colorbox/jquery.colorbox-min.js"></script>
<script src="js/funcoes.js"></script>
<script>
$(document).ready(function(){
                $(".example8").colorbox({width:"50%", inline:true, href:"#Cadastro"});
            });
</script>
<style type="text/css">
<!--
@import "css/colorbox.css";
@import "css/modelo.css";
-->
</style>
</head>
<body>
    <div id="QuadroDeLogin"><!--ABRE DIV/QUADRO DE LOGIN-->
            <p align="center" class="FontesQuadroLogin">Acesse:</p>
                <form name="LoginInicio" method="get" >
            <p class="Login_Senha">Usuario: <br /><input type="text" name="Usuario" class="InputsInicio" value="Nome de Usuário" 
            onfocus="limparPadrao(this);" onblur="escreverPadrao(this);"/></p>
            <p class="Login_Senha"> Senha:  <br /><input type="password" name="Senha" class="InputsInicio" value="12345678"
            onfocus="limparPadrao(this);" onblur="escreverPadrao(this);" />
                    <input type="submit" class="InputsSubmit" value="Entrar" /></p>
            <p><a class="example8" href="#">Cadastre-se</a> </p>
                </form>
    </div><!--FECHA DIV/QUADRO DE LOGIN DO INICIO-->
    
    
<div style='display:none'> 
            <div id='Cadastro' style='padding:10px; background:#FFF;'> 
    <form name="Registro" method="get">
            <h1 class="CadastroIni" align="center"> Formulario de Cadastro </h1>
                <h2 class="CadastroIni">Dados Pessoais</h2>
                    <h3 class="CadastroIni">Nome: <input type="text" class="InputsInicio" name="nome" /></h3>
                    <h3 class="CadastroIni">Sobrenome: <input type="text" class="InputsInicio" name="sobrenome" /></h3>
                    <h3 class="CadastroIni">Estado: 
                    <select class="InputsInicio" name="listEstados" onChange="Dados(this.value);">
            <option value="0">Selecione o estado</option>
            <? for($i=0; $i<$row; $i++) { ?>
               <option value="<? echo mysql_result($sql, $i, "cod_estado"); ?>">
               <? echo mysql_result($sql, $i, "nom_estado"); ?></option>
            <? } ?>
         </select></h3>
                    <h3 class="CadastroIni">Cidade: <select class="InputsInicio" name="listCidades" >
            <option id="opcoes" value="0">Primeiro selecione o estado</option>
         </select>
                    </h3>
                <h2 class="CadastroIni">Dados da sua conta:</h2>
                    <h3 class="CadastroIni">Usuário: <input type="text" class="InputsInicio" name="sobrenome" /></h3>
                    <h3 class="CadastroIni">Senha: <input type="password" class="InputsInicio" name="sobrenome" /></h3>
                    <h3 class="CadastroIni">Gênero: </h3>
                    <h3 class="CadastroIni">E-mail: <input type="text" class="InputsInicio" name="sobrenome" /></h3>
      </form>
            </div> 
        </div> 

</body>
</html>

 

 

funcoes.js

 

// JavaScript Document
//=====================================================================================================================================
// SUMIR VALUE DO INPUT AO CLICA
//=====================================================================================================================================
function limparPadrao(campo) {
        if (campo.value == campo.defaultValue) {
                campo.value = "";
        }
}

function escreverPadrao(campo) {
        if (campo.value == "") {
                campo.value = campo.defaultValue;
        }
}
//=====================================================================================================================================
// FUNÇÃO DO ESTADO E CIDADE
//=====================================================================================================================================
function Dados(valor) {
      //verifica se o browser tem suporte a ajax
      try {
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) {
        try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
        }
         catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
            catch(exc) {
               alert("Esse browser não tem recursos para uso do Ajax");
               ajax = null;
            }
        }
      }
      //se tiver suporte ajax
      if(ajax) {
         //deixa apenas o elemento 1 no option, os outros são excluídos
         document.forms[0].listCidades.options.length = 1;
         
         idOpcao  = document.getElementById("opcoes");
         
         ajax.open("POST", "cidades.php", true);
         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         
         ajax.onreadystatechange = function() {
            //enquanto estiver processando...emite a msg de carregando
            if(ajax.readyState == 1) {
               idOpcao.innerHTML = "Carregando...!";   
            }
            //após ser processado - chama função processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
               if(ajax.responseXML) {
                  processXML(ajax.responseXML);
               }
               else {
                   //caso não seja um arquivo XML emite a mensagem abaixo
                   idOpcao.innerHTML = "Primeiro selecione o estado";
               }
            }
        }
         //passa o código do estado escolhido
         var params = "estado="+valor;
        ajax.send(params);
      }
   }
   
   function processXML(obj){
      //pega a tag cidade
      var dataArray   = obj.getElementsByTagName("cidade");
      
      //total de elementos contidos na tag cidade
      if(dataArray.length > 0) {
         //percorre o arquivo XML paara extrair os dados
        for(var i = 0 ; i < dataArray.length ; i++) {
            var item = dataArray[i];
            //contéudo dos campos no arquivo XML
            var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            
            idOpcao.innerHTML = "Selecione sua cidade";
            
            //cria um novo option dinamicamente  
            var novo = document.createElement("option");
                //atribui um ID a esse elemento
                novo.setAttribute("id", "opcoes");
                //atribui um valor
                novo.value = codigo;
                //atribui um texto
                novo.text  = descricao;
                //adiciona o novo elemento
                document.forms[0].listCidades.options.add(novo);
         }
      }
      else {
        //caso o XML volte vazio, printa a mensagem abaixo
        idOpcao.innerHTML = "Primeiro selecione o estado";
      }      
   }

 

 

cidades.php

 

<?
//CONECTA AO MYSQL                     
require_once("conecta.php");           

//RECEBE PARÃMETRO                     
$pEstado = $_POST["estado"];    

//QUERY  
$sql = " 
       SELECT a.cod_cidade, a.nom_cidade    
        FROM  cidade a                    
        WHERE a.cod_estado = ".$pEstado."  
        ORDER BY a.nom_cidade";      

//EXECUTA A QUERY               
$sql = mysql_query($sql);       

$row = mysql_num_rows($sql);    

//VERIFICA SE VOLTOU ALGO 
if($row) {                
   //XML
   $xml  = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
   $xml .= "<cidades>\n";               
   
   //PERCORRE ARRAY            
   for($i=0; $i<$row; $i++) {  
      $codigo    = mysql_result($sql, $i, "cod_cidade"); 
      $descricao = mysql_result($sql, $i, "nom_cidade");
      $xml .= "<cidade>\n";     
      $xml .= "<codigo>".$codigo."</codigo>\n";                  
      $xml .= "<descricao>".$descricao."</descricao>\n";         
      $xml .= "</cidade>\n";    
   }//FECHA FOR                 
   
   $xml.= "</cidades>\n";
   
   //CABEÇALHO
   Header("Content-type: application/xml; charset=iso-8859-1"); 
}//FECHA IF (row)                                               

//PRINTA O RESULTADO  
echo $xml;            
?>

 

 

conecta.php

 

<?php require_once("conf.php"); ?>
<?
//CONECTA AO MYSQL                                       
$conn = mysql_connect($CONF['host'], $CONF['usuario'], $CONF['senha'])    
          or die("Erro na conexão com a base de dados"); 

//SELECIONA A BASE DE DADOS                
$db = mysql_select_db($CONF['banco'], $conn)   
        or die("Erro na seleção da base de dados"); 
         
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
?>

 

 

 

Alguém ai sabe uma solution pra isso?? [:

Compartilhar este post


Link para o post
Compartilhar em outros sites

salve todos teus arquivos sem a assinatura BOM

 

e se você tá usando UTF8, use em tudo..

<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

viu que não combina misturar?

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.