Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Problema De Acentuação


yogodoshi

Pergunta

Problema de acentuação dentro do drop-down que lista as cidades do Estado.

Meu java script:

try{
    xmlhttp = new XMLHttpRequest();}catch(ee){try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
    catch(E){xmlhttp = false;}}}
    
function ajax() {
        xmlhttp.open("POST", "sys_cidades.asp?estado=" + document.getElementById('estado').value ,true);
        xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=iso-8859-1');
        xmlhttp.onreadystatechange=function() { 
                    document.getElementById('divmodelos').innerHTML = '<font size="1" face="tahoma">Aguarde...</font>'
           if(xmlhttp.readyState == 4){
                    document.getElementById('divmodelos').innerHTML = xmlhttp.responseText
                }}
            xmlhttp.send('aloha') 
}
Meu HTML do campo de Estado/ cidade:
<tr align="left">
          <td>Estado:</td>
          <td><select name="estado" size="1" id="estado" onchange="ajax();">
            <option value="" selected="selected">Selecione o Estado</option>
<%

sql = "SELECT id_estado, estado from estados order by estado"
set ObjRs = banco.Execute(sql)

     While NOT ObjRs.EOF
     %>
     <option value="<%=cint(ObjRs("id_estado"))%>"><%=ObjRs("estado")%></option> 
     <%
      ObjRs.MoveNext
     Wend
     
ObjRs.close
set ObjRs = nothing

%>
            </select></td>
        </tr>
        <tr align="left">
          <td>Cidade:</td>
          <td><div id="divmodelos"><select name="cidade" class="campos" id="cidade">
        <option value="0">Escolha o estado primeiro</option>
        </select></div></td>
        </tr>
<!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" xml:lang="pt-br" lang="pt-br">
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="pt-br" />
</head>

<% 
Response.Charset="ISO-8859-1"

    Dim banco
       Dim strConexao
       strConexao="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../banco/dados.mdb")
       SET banco = SERVER.CreateObject("ADODB.CONNECTION")
    Set rs_cidade = Server.CreateObject("ADODB.Recordset")
       banco.OPEN strConexao

estado = request.querystring("estado")
estado = replace(estado,"'","")
estado = cint(estado)

sql_cidade = "SELECT cidade FROM cidades WHERE id_estado = " & estado & " ORDER BY cidade"
rs_cidade.Open sql_cidade, banco,3,3
%>

<select name="cidade" class="campos">
<%
While NOT rs_cidade.eof
%>

  <option value="<%=rs_cidade("cidade")%>"><%=rs_cidade("cidade")%></option>
<%
rs_cidade.movenext
wend

rs_cidade.close
set rs_cidade = nothing
%>
</select>

Como vocês podem ver, defini como iso-8859 de todas as maneiras possiveis e em todos os arquivos e mesmo assim o problema de acentuação continua...

alguém sabe a solucao?

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

não adiantou...

e sabe o que é engraçado? O drop down dos estados está com acentuação correta já o das cidades fica dando este erro tipo: "S?ao Paulo"...

Outra dica que pode ajudar vocês, se eu vou direto na página: seleciona_cidades.asp?estado=1 por exemplo. o drop-down fica normal, sem erro de acentuação...

Editado por yogodoshi
Link para o comentário
Compartilhar em outros sites

  • 0

Da segunda maneira funcionou...

mas será que em algum momento quando eu puxar algo no banco, quem sabe para o valor do input não venha com o código: &atilde; =/

alguém sabe se corro esse risco?

*edit*

é exatamente o que acontece...

se você vai no valor do input está com o código =/

Editado por yogodoshi
Link para o comentário
Compartilhar em outros sites

  • 0

sim e não...

salvando o nome com o código &aatilde; no banco de dados, na hora de puxar o resultado, o drop-down com as cidades aparece direitinho o nome das cidades que tem caracteres especiais mas em contrapartida, o value do campo tb mostra os caracteres especiais... mas já vi que o jeito é gravar com os caracteres especiais no banco e no value utilizar um código numerico...

vlw pela ajuda!

abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Mas num faz mal, não ... yogodoshi!

Se você tiver um formulario assim:

<form><select><option value="S&atilde;o Paulo" id="teste">S&atilde;o Paulo</option></select></form>

Quando mandar enviar o formulário, você terá na página de destino: Request["teste"]==São Paulo.

Axo que é isso. testa ae.

Link para o comentário
Compartilhar em outros sites

  • 0

vlw pela ajuda Flávio mas acabei encontrando uma solucao mais facil e fica aqui a dica:

é só dar html.encode na hora de puxar do banco:

<option value="<%=Server.HTMLEncode(rs_cidade("cidade"))%>"><%=Server.HTMLEncode(rs_cidade("cidade"))%></option>

abrcsss! e vlw dnovo pela ajuda!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...