Ir para conteúdo

POWERED BY:

Arquivado

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

hudsonalves

excluir espaço e acentuação

Recommended Posts

Rode uma rotina que substitua os nomes, terá menos problemas no futuro.

 

Outra pergunta:

 

Exemplo de como esta seu trabalho

 

No bd esta

 

Time coração

 

E na imagem esta

 

Timecoracao

 

Assim?

 

Cara é exatamente isso que não quero, retirar o acento é mais fácil, embora o código em epígrafe não esta dando resultado.

 

sobre como esta no banco e na imagem, isso mesmo.

 

Nomes de times que não possuem acentuaçao ou espaço rola certinho. Meu problema esta com os nomes cadastrados no banco de dados hora com acentos ou com espaços.

eu testei a função TirarAcento e ela resultou aqui assim

 

resp = TirarAcento("time coração")

 

resp ficou time_coracao

 

é assim mesmo? com underline?

 

por posts anteriores vi que tinha que ficar assim: timecoracao

 

já corrigiram a função e o erro continua?

 

vi que a função foi adaptada no vetor CAcento colocaram o espaço e no SAcento colocaram o underline para substituir mas só isso não resolve complete no final da função um replace no underline para nada ou remova dos vetores e espaço e o underline e dê no final o replace no espaço por nada!! pronto!!

 

 

fiz isso mas não rolou, inclusive achei o código que menciona, o erro persiste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa com essa função:

Function TiraAcento(Palavra) 
        CAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" 
        SAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" 
        Texto = "" 
        if Palavra <> "" then 
        For X = 1 to Len(Palavra) 
        Letra = mid(Palavra,X,1) 
        Pos_Acento = inStr(CAcento,Letra) 
        if Pos_Acento > 0 then 
        Letra = mid(SAcento,Pos_Acento,1) 
        end if 
        Texto = Texto & Letra 
        next 
        TiraAcento = Texto 
        end if 
end function

e como esta o campo IMAGEM_ESCUDO no bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

hudsonalves

 

como o nome do arquivo está e como você quer que fique?

 

vamos resolver... poste ai...

 

 

Olá Gustavo,

 

No banco de dados tenho nomes de times cadastrados com acentos e espaços, vou dar um exemplo: "Atlético mineiro", "São Paulo" etc Estes nomes possuem acentuação e espaço entre as duas palavras.

 

Resolvi chamar a função não como nome e sim como imagem, possuo em uma pasta um banco de imagens, baseando no exemplo acima tenho: atleticomineiro.jpg e saopaulo.jpg (ambos sem acentuação e sem espaço)

 

O que preciso: ao chamar a imagem no HTML destes dois times o distintivo não vai aparecer, desta forma preciso tratar a retirada de espaço e acentuação para que a imagem possa aparecer

testa com essa função:

Function TiraAcento(Palavra) 
        CAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" 
        SAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" 
        Texto = "" 
        if Palavra <> "" then 
        For X = 1 to Len(Palavra) 
        Letra = mid(Palavra,X,1) 
        Pos_Acento = inStr(CAcento,Letra) 
        if Pos_Acento > 0 then 
        Letra = mid(SAcento,Pos_Acento,1) 
        end if 
        Texto = Texto & Letra 
        next 
        TiraAcento = Texto 
        end if 
end function

e como esta o campo IMAGEM_ESCUDO no bd

 

 

Xanburzum, creio que esta função esteja correta sim, mas quando eu chamado ela continua gerando o erro:

Erro de tempo de execução do Microsoft VBScript erro '800a000d'
Tipos incompatíveis: 'TiraAcento'
/jogos/home/default.asp, linha 133

na linha em questão estou incluindo desta forma:

<img border="0" src="../distintivos/<%= TiraAcento(rsRelated.Fields.Item("IMAGEM_ESCUDO").Value)%>.gif">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai esta o seu erro. Faça assim:

 

ImgEscudo = rsRelated(“IMAGEM_ESCUDO”)

if ImgEscudo <> “” then

ImgEscudo = tiraacento(ImgEscudo)

ImgEscudo = replace(ImgEscudo,“ ”,“”)

End if

 

<img src=../distintivos/<%=ImgEscudo%>.gif border=0>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tipo de campo de IMAGEM_ESCUDO no seu bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tipo de campo de IMAGEM_ESCUDO no seu bd

 

 

É texto xanburzum

Ai esta o seu erro. Faça assim:

 

ImgEscudo = rsRelated(“IMAGEM_ESCUDO”)

if ImgEscudo <> “” then

ImgEscudo = tiraacento(ImgEscudo)

ImgEscudo = replace(ImgEscudo,“ ”,“”)

End if

 

<img src=../distintivos/<%=ImgEscudo%>.gif border=0>

 

Ai esta o seu erro. Faça assim:

 

ImgEscudo = rsRelated(“IMAGEM_ESCUDO”)

if ImgEscudo <> “” then

ImgEscudo = tiraacento(ImgEscudo)

ImgEscudo = replace(ImgEscudo,“ ”,“”)

End if

 

<img src=../distintivos/<%=ImgEscudo%>.gif border=0>

 

 

 

 

Olá Ronaldo, quando lanço desta forma gera erro.:

Erro de tempo de execução do Microsoft VBScript erro '800a000d'
Tipos incompatíveis: 'rsRelated'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas nao é so rsrelated é toda a string.

 

Coloco o codigo completo do jeito que esta

 

 

 

 

Segue o Código completo

<script type="text/javascript">
Function TiraAcento(Palavra) 
        CAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" 
        SAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" 
        Texto = "" 
        if Palavra <> "" then 
        For X = 1 to Len(Palavra) 
        Letra = mid(Palavra,X,1) 
        Pos_Acento = inStr(CAcento,Letra) 
        if Pos_Acento > 0 then 
        Letra = mid(SAcento,Pos_Acento,1) 
        end if 
        Texto = Texto & Letra 
        next 
        TiraAcento = Texto 
        end if 
end function
</script>
</head>


<body>


<div class="row clearfix">
<div class="col-md-12 column"> 
<div id="bordertitlegreen">
<h4 class="text-center"><i class="fa fa-flag fa-calendar"></i> CALENDÁRIO DE JOGOS</h4>
</div>
<div class="alert alert-danger">
<table class="table table-hover">
<thead>
<tr>
<th>Informações</th>
<th>Jogo</th>
<th>Data</th>
</tr>
</thead>


<%
ImgEscudo = rsRelated(“IMAGEM_ESCUDO”)
if ImgEscudo <> “” then
ImgEscudo = tiraacento(ImgEscudo)
ImgEscudo = replace(ImgEscudo,“ ”,“”)
End if
%>


<%
ImgEscudo2 = rsRelated(“IMAGEM_ESCUDO2”)
if ImgEscudo2 <> “” then
ImgEscudo2 = tiraacento(ImgEscudo)
ImgEscudo2 = replace(ImgEscudo,“ ”,“”)
End if
%>


<%
Dim varcalendar
varcalendar = strRightSize


Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../_private/DUportal.mdb")
set rsRelated = conn.execute("SELECT TOP "& varcalendar &" * FROM DATAS, CHANNELS, CATEGORIES WHERE CAT_CHANNEL = CHA_ID AND DAT_CATEGORY = CAT_ID AND CAT_NAME AND DAT_DATED >= DATE() AND DAT_APPROVED=1 AND CHA_ACTIVE = 1 AND CHA_NAME = 'CALENDÁRIO' ORDER BY DAT_DATED ASC, DAT_PRICE ASC")
do while not rsRelated.eof
%> 


<tbody>
<td><a href="detailcalendar.asp?iData=<%=(rsRelated.Fields.Item("DAT_ID").Value)%>&iCat=<%=(rsRelated.Fields.Item("DAT_CATEGORY").Value)%>&iChannel=<%=(rsRelated.Fields.Item("CAT_CHANNEL").Value)%>&nChannel=<%=(rsRelated.Fields.Item("CHA_NAME").Value)%>"><b><font size="2" color="#593333"><img src=../distintivos/<%=ImgEscudo%>.gif border=0></font></b></a>
<a href="detailcalendar.asp?iData=<%=(rsRelated.Fields.Item("DAT_ID").Value)%>&iCat=<%=(rsRelated.Fields.Item("DAT_CATEGORY").Value)%>&iChannel=<%=(rsRelated.Fields.Item("CAT_CHANNEL").Value)%>&nChannel=<%=(rsRelated.Fields.Item("CHA_NAME").Value)%>"><b><font size="2" color="#593333"><img src=../distintivos/<%=ImgEscudo2%>.gif border=0></font></b></a></td>
</tbody>
<%
rsRelated.movenext
loop
rsRelated.close
conn.close
set rsRelated = nothing
set conn = nothing
%>
</table>
</div>
</div>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hudson achei o problema ... a função tiraacento não é um script javascript é um script ASP por isso coloque ela entre <%%> não entre <script language="javascript"> </script>

function TiraAcento(Palavra)

...

end function

%>

 

tenta ai!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hudson,

 

A Função que te passei no Post 2 funciona perfeitamente, pois utilizo ela em vários sites na ora de upar as Fotos. ( Apenas esqueci do End Function para finalizar ela )

 

 

No Post 14 havia dito o mesmo que o Gustavo, esta é uma Função ASP, e deve estar entre <% %>

 

Outro detalhe, note que em seu code, você está usando algumas ASPAS errada, talvez na hora de copiar e colar, corrija elas tb.

 

Exemplo:

ImgEscudo = rsRelated(“IMAGEM_ESCUDO”)

por

ImgEscudo = rsRelated("IMAGEM_ESCUDO")

Faça as correções... testes... reveja seus códigos, banco de dados... e postes os resultados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados,

 

De fato eu estava fazendo errado, precisei retirar as aspas a mais conforme dica do Wilnet e deixar abaixo do While not conforme dica do Ronaldo

 

Segue código que lancei na minha página, esta rodando certinho.

 

meus agradecimentos ao Wilnet, Gustavo, Ronaldo, Gilberto, Xanburzum pelas dicas, paciência e ajuda.

 

<div class="row clearfix">
<div class="col-md-12 column"> 
<div id="bordertitlegreen">
<h4 class="text-center"><i class="fa fa-flag fa-calendar"></i> CALENDÁRIO DE JOGOS</h4>
</div>
<div class="alert alert-danger">
<table class="table table-hover">
<thead>
<tr>
<th>Informações</th>
<th>Jogo</th>
<th>Data</th>
</tr>
</thead>


<% 
function TiraAcento(Palavra) 
       CAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" 
       SAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" 
       Texto = "" 
       if Palavra <> "" then 
       For X = 1 to Len(Palavra) 
       Letra = mid(Palavra,X,1) 
       Pos_Acento = inStr(CAcento,Letra) 
       if Pos_Acento > 0 then 
       Letra = mid(SAcento,Pos_Acento,1) 
       end if 
       Texto = Texto & Letra 
       next 
       TiraAcento = Texto 
       end if 
end function 
%>


<%
Dim varcalendar
varcalendar = strRightSize


Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../_private/DUportal.mdb")
set rs1 = conn.execute("SELECT TOP "& varcalendar &" * FROM DATAS, CHANNELS, CATEGORIES WHERE CAT_CHANNEL = CHA_ID AND DAT_CATEGORY = CAT_ID AND CAT_NAME AND DAT_DATED >= DATE() AND DAT_APPROVED=1 AND CHA_ACTIVE = 1 AND CHA_NAME = 'CALENDÁRIO' ORDER BY DAT_DATED ASC, DAT_PRICE ASC")
do while not rs1.eof
%>


<%
ImgEscudo = rs1("ImgEscudo")
if ImgEscudo <> "" then
ImgEscudo = tiraacento(ImgEscudo)
ImgEscudo = replace(ImgEscudo," ","")
End if
%>


<%
ImgEscudo2 = rs1("ImgEscudo2")
if ImgEscudo2 <> "" then
ImgEscudo2 = tiraacento(ImgEscudo2)
ImgEscudo2 = replace(ImgEscudo2," ","")
End if
%> 


<tbody>
<tr class="success" VALIGN="MIDDLE" ALIGN="CENTER">
<td><a href="detailcalendar.asp?iData=<%=(rs1.Fields.Item("DAT_ID").Value)%>&iCat=<%=(rs1.Fields.Item("DAT_CATEGORY").Value)%>&iChannel=<%=(rs1.Fields.Item("CAT_CHANNEL").Value)%>&nChannel=<%=(rs1.Fields.Item("CHA_NAME").Value)%>"><b><font size="2" color="#593333"><%=(rs1.Fields.Item("DAT_DESCRIPTION").Value)%></font></b></a></td>
</tr>
</tbody>
<%
rs1.movenext
loop
rs1.close
conn.close
set rs1 = nothing
set conn = nothing
%>
</table>
</div>
</div>
</div>

Ufa (rsrs).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ufa. rsrsrs

 

Que bom que resolveu.

 

Pode marcar como Tópico Resolvido então.

Compartilhar este post


Link para o post
Compartilhar em outros sites

10410349_764214493622349_664883910304928

Beleza ASPmano... estamos sempre aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

E tópico bom esse.

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.