Ir para conteúdo

POWERED BY:

Arquivado

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

eleaga

[Resolvido] Acentuacao em xml dinamico.

Recommended Posts

Olá!

Estou com um script que lista todas as cidades depois de escolhido um estado sem precisar dar refresh, o problema eh que as cidades estão com problema na acentuação acredito que é por não possuir o <?xml version="1.0" encoding="ISO-8859-1" ?>.

Alguem sabe onde eu coloco nesse codigo ae para ficar certo?

 

Esse é o codigo que gera o xml:

 

var req;
function loadXMLDoc(url,valor){ req = null; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; req.open("GET", url+'?estado='+valor, true); req.send(null);} else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET", url+'?estado='+valor, true); req.send();}}}
function processReqChange(){if(req.readyState == 4){if (req.status == 200) {document.getElementById('cidades').innerHTML = req.responseText;
} else { alert("Houve um problema ao obter os dados:\n" + req.statusText);}}}
function Atualiza(valor){if(valor == 'nenhum'){document.getElementById('cidades').innerHTML = '';}else{loadXMLDoc("cidades.php",valor);}}
function loading(){document.getElementById('cidades').innerHTML = "<img src='lendo.gif' width='10' height='10'> lendo informações...";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

eu tava vendo o codigo melhor e tem uma pagina chamada cidades.php que chama nesse codigo lá de cima que esta assim:

 

<!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=iso-8859-1" />
</head>

<?
require_once('conexao.php');

$opcoes_combo_cidade = "";
$sql = "SELECT * FROM cidades WHERE id_estados = '{$_GET['estado']}' ORDER BY cidade";
$resultado = mysql_query($sql) or die (mysql_error());
While($linha = mysql_fetch_array($resultado, MYSQL_BOTH)){$opcoes_combo_cidade .= "<option value='".$linha[cidade]."'>".$linha[cidade]."</option>\n";}
?>
<BODY <!--OnLoad="javascript:Atualiza();"-->
<select name="cidade">
<option>---Escolha a cidade---</option>
<?=$opcoes_combo_cidade;?>
</select>

Eu peguei esse codigo em:

http://www.phpbrasil.com/scripts/script.php/id/2840

a versao que eu estou usando é a 1.1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moderação, favor mover para área de PHP. Grato.

 

 

While($linha = mysql_fetch_array($resultado, MYSQL_BOTH)){$opcoes_combo_cidade .= "<option value='".$linha[cidade]."'>".$linha[cidade]."</option>\n";}

você fará uma pequena troca:

while($linha = mysql_fetch_assoc($resultado, MYSQL_BOTH)) {
 foreach($linha as $coluna=>$valor) $linha[$coluna] = utf8_encode($valor);
 $opcoes_combo_cidade .= "<option value=\"{$linha['cidade']}\">{$linha['cidade']}</option>\n";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nus cara vlw!!

eu troquei o assoc pelo array e deu certo!

Me desculpa ter postado no lugar errado mas eu achei que o problema era com o XML.

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Movido:

 

Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas já que você caiu de pára-quedas em Webstandards, duas coisinhas aqui:

 

<BODY <!--onload="javascript:Atualiza();"-->

<select name="cidade">

<option>---Escolha a cidade---</option>

<?=$opcoes_combo_cidade;?>

 

feche a <body> (de preferência excluindo o comentário)

e troque <? por <?php

 

short_tag_open será destruída no PHP6 exatamente por conflitos com as declarações <?xml

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.