maicon_m 0 Denunciar post Postado Janeiro 19, 2013 Olá. Pesquisei sobre o assunto e encontrei diversos tópicos aqui no fórum, mas infelizmente nenhum funcionou para mim. Estou precisando ordenar por nome uma lista de categoria. O problema ocorre quando a palavra inicia com acentuação. Esta ocorrendo que depois de 'Automação Industrial', ele mostra 'Óticas' e somente então continuam com 'Balanças'. A ordenação alfabética esta correta exceto quando existe acentuação. O mesmo problema quando procuro por 'Ótica', mesmo estando cadastrada na tabela, não encontra. Pesquisando 'otica' também não retorna. Codificação banco de dados: latin1_swedish_ci Estrutura da tabela: CREATE TABLE IF NOT EXISTS `empresas_cat` ( `id_cat` int(5) NOT NULL auto_increment, `nome` varchar(100) NOT NULL, `id` int(5) NOT NULL, PRIMARY KEY (`id_cat`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=127 ; Na tabela o palavra aparece escrita: Óticas Tentei usar sem sucesso: $busca_avanc = mysql_query("SELECT * FROM empresas_cat ORDER BY nome COLLATE 'latin1_swedish_ci'"); $busca_avanc = mysql_query("SELECT * FROM empresas_cat ORDER BY nome "); Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 19, 2013 http://forum.imasters.com.br/topic/412970-order-by-e-acentuacao/ Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Janeiro 20, 2013 Obrigado pelo link Motta. Tentei com a opção de 'CONVERT' no SQL mas não surtiu efeito. Usei utf8 e latin1. Tentei também criar a função através da aba SQL no PHPMyAdmin, já que não sei de outra forma, e retornou erro. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Janeiro 20, 2013 Escolha usar charset utf8 e collate utf8_unicode_ci. Exemplo: CREATE TABLE IF NOT EXISTS `empresas_cat` ( `id_cat` int(5) NOT NULL auto_increment, `nome` varchar(100) NOT NULL, `id` int(5) NOT NULL, PRIMARY KEY (`id_cat`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci AUTO_INCREMENT=127 ; Compartilhar este post Link para o post Compartilhar em outros sites
maicon_m 0 Denunciar post Postado Janeiro 21, 2013 Prog, obrigado, Recriei a tabela usando o charset utf8, mas como os dados vieram da anterior, os acentos estão estilo Â" no caso do Ó de Óticas, assim como estão na outra tabela empresas onde preciso fazer busca por termo. Alguma idéia de como lidar com isso? Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Janeiro 21, 2013 Acredito que o caminho mais rápido, se houver a necessidade de recriar todas as tabelas você pode exportar para um script, alterar a collation e o charset e executar o script. Com o banco de dados online, você precisa fazer um script para alterar e converter, não há um "comando mágico". Melhor dizendo, eu desconheço a existência de um. Compartilhar este post Link para o post Compartilhar em outros sites