Login
Estamos no Facebook
Buscar
Quem está conectado
Há 23 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 23 Visitantes :: 2 Motores de buscaNenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
| |
Estamos no Twitter

Nossa Comunidade

Nosso Grupo

Últimos assuntos
Top dos mais postadores
| Marcos Guedes | ||||
| hugo | ||||
| alceu11 | ||||
| Julio | ||||
| m@r<3|o | ||||
| mfelis | ||||
| Tales Ruan | ||||
| Nelson Arcas | ||||
| _batmanvfp_ | ||||
| marcio |
Minimizar , Maximizar e Restaurar
17/5/2012, 13:46 por FERNANDOMATRELLA
Olá gostaria de saber se alguem ja se deparou com uma dificuldade que eu estou tendo:
Ao minimizar …
Ao minimizar …
Comentários: 8
Estatísticas
Temos 4025 usuários registradosO último usuário registrado atende pelo nome de fhpvga
Os nossos membros postaram um total de 14399 mensagens em 2043 assuntos
Collations
Página 2 de 2 • Compartilhe •
Página 2 de 2 •
1, 2
Collations
Relembrando a primeira mensagem :
Estou com o seguinte problema.
Os campos do tipo varchar do meu banco de dados estão todos com COLLATE como 'latin1_swedish_ci'.
Só que eu notei que não consigo fazer pesquisas com algum caracter com trema, exemplo: "Müller". Ele não retorna a linha que contém esse caracter no campo.
Para simular basta criar um campo varchar com o collate 'latin1_swedish_ci' e inserir um registro com um caracter com trema. Tente fazer a pesquisa sem o trema com a "LIKE".
Se eu alterar o collate para 'latin1_german1_ci' funciona!
Eu queria saber se tem uma forma de eu alterar todas as colunas no banco com essa collate. E se tem perigo de ocorrer algum efeito não esperado nas pesquisas.
Obrigado.
Estou com o seguinte problema.
Os campos do tipo varchar do meu banco de dados estão todos com COLLATE como 'latin1_swedish_ci'.
Só que eu notei que não consigo fazer pesquisas com algum caracter com trema, exemplo: "Müller". Ele não retorna a linha que contém esse caracter no campo.
Para simular basta criar um campo varchar com o collate 'latin1_swedish_ci' e inserir um registro com um caracter com trema. Tente fazer a pesquisa sem o trema com a "LIKE".
Se eu alterar o collate para 'latin1_german1_ci' funciona!
Eu queria saber se tem uma forma de eu alterar todas as colunas no banco com essa collate. E se tem perigo de ocorrer algum efeito não esperado nas pesquisas.
Obrigado.
brulec- Começando a Participar

Re: Collations
Tens como postar uma parte da estrutura?
Tenho muitos SELECT's que são gerados sozinhos em minhas aplicações.
Tenho muitos SELECT's que são gerados sozinhos em minhas aplicações.
Marcos Guedes- Webmaster

Re: Collations
Infelizmente não Marcos, tem muita coisa ligada uma na outra.
brulec- Começando a Participar

Re: Collations
Brulec, andei pesquisando com um colega meu e ele me lembrou do coringa.
Serviria para você se fosse uma pesquisa deste tipo:
????
Dependendo da situação, bastaria você colocar um STRTRAN() no nome, subistituíndo o "Ü/ü" por um "_".
Serviria para você se fosse uma pesquisa deste tipo:
- Código:
select * from pessoaf where nom_pef like "%M_uller%"
????
Dependendo da situação, bastaria você colocar um STRTRAN() no nome, subistituíndo o "Ü/ü" por um "_".
Marcos Guedes- Webmaster

Re: Collations
Bom dia Marcos, interessante esse caracter coringa, nem sabia que tinha. Eu uso sempre o '%'. Só que isso também não ajuda pois o problema está quando o usuário pesquisa sem 'ü' por exemplo, ele coloca apenas 'u'. Valew
brulec- Começando a Participar

Re: Collations
É isto que estou tentando te explicar.
Se você usar a função STRTRAN() não terá muito com o que se preocupar,
pois será alterada apenas a letra desejada.
Executa o código abaixo e verifica como ficaria o teu SELECT:
Se você usar a função STRTRAN() não terá muito com o que se preocupar,
pois será alterada apenas a letra desejada.
Executa o código abaixo e verifica como ficaria o teu SELECT:
- Código:
CLEAR
LOCAL oqBusca as String && Conteúdo que será pesquisado
LOCAL oSelect as String && SELECT
*!* Exemplo com "U" (sem trema)
m.oqBusca = "Muller"
m.oqBusca = STRTRAN(m.oqBusca, "U", "_")
m.oqBusca = STRTRAN(m.oqBusca, "u", "_")
m.oqBusca = STRTRAN(m.oqBusca, "Ü", "_")
m.oqBusca = STRTRAN(m.oqBusca, "ü", "_")
m.oSelect = "SELECT * FROM suaTabela WHERE campo like '%" + m.oqBusca + "%'"
?m.oSelect
*!* Exemplo com "Ü" (com trema)
m.oqBusca = "Müller"
m.oqBusca = STRTRAN(m.oqBusca, "U", "_")
m.oqBusca = STRTRAN(m.oqBusca, "u", "_")
m.oqBusca = STRTRAN(m.oqBusca, "Ü", "_")
m.oqBusca = STRTRAN(m.oqBusca, "ü", "_")
m.oSelect = "SELECT * FROM suaTabela WHERE campo like '%" + m.oqBusca + "%'"
?m.oSelect
*!* Outro exemplo qualquer
m.oqBusca = "Maria"
m.oqBusca = STRTRAN(m.oqBusca, "U", "_")
m.oqBusca = STRTRAN(m.oqBusca, "u", "_")
m.oqBusca = STRTRAN(m.oqBusca, "Ü", "_")
m.oqBusca = STRTRAN(m.oqBusca, "ü", "_")
m.oSelect = "SELECT * FROM suaTabela WHERE campo like '%" + m.oqBusca + "%'"
?m.oSelect
Marcos Guedes- Webmaster

Re: Collations
UHm, entendi, voce diz substituir o "U" também. É, seria uma alternativa. Se não achar algo que posso sera melhorado no banco acho que vou ter que partir para essa idéia mesmo. Quero esgotar todas as alternativas antes de fazer algo assim. Porque, parece meio "errado" eu alterar a string que está sendo pesquisada pelo usuário, levando-se em conta que se ele digita um "u" ali, ele realmente quer um "U" entendeu? hehe... Sem falar que eu teria que fazer com as outras vogais também. Teria que fazer algo do tipo:
- Código:
Chrtran(cFilttro,'AEIOUaeiou','__________')
brulec- Começando a Participar

Re: Collations
Porque, parece meio "errado" eu alterar a string que está sendo pesquisada pelo usuário, levando-se em conta que se ele digita um "u" ali, ele realmente quer um "U" entendeu?
Você poderia acrescentar uma opção à busca.
Algo do tipo, "Pesquisar exatamente por" (Esta seria marcada apenas quando o usuário quizesse uma pesquisa exata.).
Sem falar que eu teria que fazer com as outras vogais também.
Isto iria depender das palavras aceitas pelo seu sistema.
Antes da mudança na gramática brasileira, creio que - no Brasil - usava-se trema apenas na letra "U/u"
Continuarei pesquisando outras alternativas também.
Caso você escolha por uma das opções discutidas, favor nos comunicar para darmos o tópico como resolvido.
Marcos Guedes- Webmaster

Re: Collations
Isto iria depender das palavras aceitas pelo seu sistema.
Antes da mudança na gramática brasileira, creio que - no Brasil - usava-se trema apenas na letra "U/u"
Como disse antes, meu sistema não depende da grámatica brasileira, pois trata-se de um sistema para cartório, tremas são muito usados na lingua alemã por exemplo. E nomes próprios é muito comum o uso do trema em algumas linguas. Vou continuar pesquisando. Mas se você achar melhor, poderia setar o tópico como resolvido, pois já foram dados algumas soluções para o problema.
Mais uma vez, obrigado pela ajuda Marcos.
brulec- Começando a Participar

Re: Collations
Brulec, se isto não resolver, acho que não há outra solução.
Testa desta forma:
Espero ter conseguido lhe ajudar!

Testa desta forma:
- Código:
select * from pessoaf where nom_pef SOUNDS like '%muller%'
select * from pessoaf where nom_pef SOUNDS like '%röberto%'
Espero ter conseguido lhe ajudar!
Marcos Guedes- Webmaster

Página 2 de 2 •
1, 2
Página 2 de 2
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
» Link PHP (Dúvida)
» Fundo do PROJETO Transparente??
» Pivot Table no sql server
» Scroll EditBox Automatico
» Erro no Projeto Chat
» Select Nexval do FoxPro no OracleXE
» Colocar gif na caixa do MESSAGEBOX ()
» Comparar Versões do programa.exe
» Menu lateral
» Fazer com que a tela do sistema assume a janela principal
» Trocar Palavra no Sistema
» invocar Dll em Xbase
» Fechar Porta Aberta
» Acessar Banco de dados mysql na web atraves cursor adapter
» Livro Caixa
» Problema na porta paralela
» Email + PHP + VFP
» Quero ajuda em PHP , alguem que ja programe em php
» Passos Iniciais