Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Caracteres Estranhos


Halfar
 Share

Question

veja o resultado de uma instrucao sql abaixo:

Select Ementa, Texto, Linkagem, Processo, Tribunal, ID from DLJ where (Ementa LIKE 'Êrimbo%'and Ementa LIKE '%protocolo%' or Texto LIKE 'Êrimbo%' and Texto LIKE '%protocolo%') order by Data Desc limit 0,50

Note a parte em negrito, a expressão Êrimbo é na realidade a palavra "carimbo".

Esta instrucao sql foi passada através de uma variavel contida num link.

Eu tinha este problema quando passava a variavel atraves de window.open, aí dava problema então suprimi o window.open e comecei a passar somente atraves de campo hidden ou algo parecido. Resolveu o problema.

Agora está aparecendo novamente este problema, só que estou passando atraves de um link, pelo jeito, tanto faz window.open ou através de um link direto, que dá este tipo de problema.

Já utilizei o urlencode antes de passar a variavel, mas o problema persiste.

alguém saberia me dizer porque ocorre isto?

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

bem, esta eu mesmo vou responder, servirá para enriquecer o cabedal de conhecimento do forum.

Este tipo de erro não ocorre quando voce passa as variaveis via POST, ocorre somente quando são passadas via GET.

A solução que encontrei foi usar as funcoes:htmlentities() e html_entity_decode()

assim passo a variavel:

<a href = "pagina.php?var=htmlentities($sql)">link para passar variavel</a>

assim recupero a variavel:

$a = html_entity_decode($_GET["var"])

O mais curioso é que mesmo assim, os caracteres estranhos ali continuam, mas não provocam erro.

No meu caso estava passando uma instrucao sql, abaixo está a instrucao sql já passada pelo link com htmlentities e recebida pelo GET com html_entity_decode.

Note na instrucao em negrito que mesmo utilizando as funcoes acima os caracteres estranhos estão ali, mas utilizando estas funcoes não gera erro na hora de executar a instrucao, os registros são selecionados corretamente, mas se eu retirar as funcoes, ai os caracteres estranhos existem e provocam erro ao selecionar os registros....

Gozado né? Não entendi porque funciona... mas, pelo menos funcionou, menos mau...

Select Ementa, Texto, Linkagem, Processo, Tribunal, ID from DLJ where Ementa LIKE 'Þcisão%' or Texto LIKE 'Þcisão%' or Ementa LIKE '%autora%' or Texto LIKE '%autora%' or Ementa LIKE '%orgãos%' or Texto LIKE '%orgãos%' order by Data Desc limit 100,50
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...