Ir para conteúdo

POWERED BY:

Arquivado

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

Willian Quideroli

URL Amigavel e acentos

Recommended Posts

Preciso de uma ajudinha rsrs

 

Crei aqui um sisteminha de URL Amigavel onde formatei a String para gerar um url sem acentos ou cedilha, o problema é que não encontro um maneira de volta o acento e a cedilha para encontrar um determinado registro no banco

 

por exemplo a URL amigavel fica assim http://nomedosite.com.br/linha-nome-da-linha

o que esta em negrito é a string tratada por uma função que tira acento e cedilha

 

porem no select que buscava a linha pelo o nome que vinha atraves da url estando sem acento ele não consegui encontrar no banco de dados...

 

como posso resolve isso????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma boa ideia seria realmente criar um campo na tabela para utilizar de "apelido" para a mesma, o que muitos chamam de alias.

 

Uma outra solução também, poderia ser na própria URL, você passar mais um parâmetro com o código da matéria, mas não acho tão usual!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

<% @Language = VBScript %>
<%session.LCID=1046%>
<%

function TiraAcento(StrAcento)
for i = 1 to len(StrAcento) 
 Letra = mid(StrAcento, i, 1)
 Select Case Letra
  Case "a","á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
  Letra = "A"
  Case "e","é","É","ê","Ê","Ë","ë","È","è"
  Letra = "E"
  Case "i","í","Í","ï","Ï","Ì","ì"
  Letra = "I"
  Case "o","ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
  Letra = "O"
  Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
  Letra = "U"
  Case "ç","Ç"
  Letra = "C"
  Case "ñ"
  Letra = "N"
 End Select
 texto = texto & Letra
next
TiraAcento = texto
end function

StrAcento = TiraAcento(Request.QueryString("busca"))
if StrAcento<> "" then
stringConexao = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")
Set RsConexao = Server.CreateObject("ADODB.Connection")
RsConexao.Open stringConexao
strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrAcento &"%'" 
Set RS = RsConexao.Execute(strSQL) 
%>
<body bgcolor="white" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<font face="Arial"><span style="font-size:10pt;"> 
<%While not RS.EOF
response.write ("<a href=""ver.asp?id=" & ""    & RS("id") & """>" & RS("Resumo") & "</a>") & "<BR><BR>"
RS.MoveNext
Wend
end if
%>
</span><span style="font-size:12pt;"><b> </b></span></font>

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.