Clausula WHERE (campo com acento)

(waae) #1

ois!!
Alguém já teve problema ao comparar dois campos de texto quando 1 deles tem acento??
Exemplo:
sc_lookup(… WHERE campo1 = ‘{campo2}’…");

Se o campo1=PAÍS e campo2=PAÍS a comparação retorna ‘true’ (certo)
Se o campo1=PAÍS e campo2=PAIS a comparação tb retorna ‘true’ (não não!! tinha que voltar ‘false’)

se coloco WHERE campo1 == ‘{campo2}’ ele retorna ‘false’ sempre!

isso porque preciso verificar se o campo digitado existe em uma determinada tabela… e ele tá permitindo digitar o nome tanto com acento ou não.
Só que dai causa outro problema… na consulta com quebra por esse campo… tah duplicando… triplicando td…!!

(setgian) #2

A dúvida é antiga mas é interessante citar uma solução
tomando um exemplo de uma base de cidades que uso, eu resolvo uma consulta assim: “SELECT * FROM cidade_bairro WHERE cidade COLLATE utf8_bin LIKE ‘{cidade}’”

lembrando que o COLLATE pode ser diferente dependendo do Charset utilizado na sua base de dados, como “latin1” por exemplo.

Espero ter ajudado,
Giancarlo

(waae) #3

hmmm interessante, vou testar.
na verdade nem consegui resolver isso, apenas contornei a situação!
Obrigada!!