listagem em ordem alfabetica com palavras com acento  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
AlanLojudice
JavaChild
[Avatar]

Membro desde: 05/09/2007 15:46:13
Mensagens: 102
Offline



Quero puxar uma lista de nomes no banco de dados por ordem alfabética.

O problema é que quando mando listar, os nomes sem e com acento ficam separados, por exemplo:


QUOTE
Marcio Teixeira
Marcos Leite
Márcio Souza



Veja que os dois Márcios (com e sem acento) ficam separados por causa do ACENTO.

Como posso fazer uma lista correta???

Desde já agradeço.


Alan Lojudice

Alan Lojudice
[Email]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 4080
Offline

Entenda que a ordenação está correcta os nomes é que estão errados.
Não tente criar uma gambiarra que irá defender quem colocou os dados errados.

JavaBuilding : construções em java



Blog do MiddleHeaven
Lista de Discussão do MiddleHeaven
[WWW]
andre_2000
Smalltalk

Membro desde: 05/09/2007 15:44:51
Mensagens: 2
Offline

Qual o SGBD?

A ordenação está sendo feita na consulta ao banco de dados ou você escreveu código para fazer a ordenação?

This message was edited 1 time. Last update was at 05/09/2007 16:23:52

paulohrl
Virtual Machine Man

Membro desde: 12/01/2007 23:35:34
Mensagens: 623
Offline

Se vc faz a ordenação com o order by do sgbd, não tem como dar o efeito que você quer. Caso vocÊ recolha a lista do sgbd e ordene em Java, então você pode fazer o que quiser e não é muito difícil, porém vai ser um pouco trabalhoso.
[Email] [MSN]
AlanLojudice
JavaChild
[Avatar]

Membro desde: 05/09/2007 15:46:13
Mensagens: 102
Offline

A ordenacao eh feita atraves dessas duas classes.




Ai depois esses valores sao buscados no banco postgre. E sao carregados em um combo... Ai se nesse combo tiver palavras assim Alan, Áriel, MArcors e Pedro.

No combo carrega nessa ordem
Alan
Marcos
Pedro
Áriel.

Alan Lojudice
[Email]
rdgc
JavaGuru

Membro desde: 09/05/2006 17:34:17
Mensagens: 209
Localização: São Paulo - SP
Offline

sergiotaborda wrote:Entenda que a ordenação está correcta os nomes é que estão errados.
Não tente criar uma gambiarra que irá defender quem colocou os dados errados.


Não entendi pq os nomes estariam errados... Pq 'Márcio' está errado e 'Marcio' está correto?!


Em relação ao assunto tópico, veja este tópico http://www.guj.com.br/posts/list/48001.java

flw!
[MSN] [ICQ]
paulohrl
Virtual Machine Man

Membro desde: 12/01/2007 23:35:34
Mensagens: 623
Offline

A questão não é certo e errado... Se um chama Marcio e outro Mércio, então o nome deles não é igual e não necessariamente precisa estar junto na ordenação.

o fato é que a != á, e se o nome é igual, então tem um erro ai, ou os dois deverima ter acento ou nenhum deles, ai sim na ordenação eles ficariam juntos.
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 25266
Localização: Curitiba/PR
Offline

Para ordenar uma lista de Strings com acento, use um Collator:



Agora... com o seu código fica difícil saber como ordenar. Talvez o código acima te dê algumas idéias.

@ViniGodoy - Lattes

Novo no fórum? Leia nosso How to.

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 4080
Offline

rdgc wrote:
sergiotaborda wrote:Entenda que a ordenação está correcta os nomes é que estão errados.
Não tente criar uma gambiarra que irá defender quem colocou os dados errados.


Não entendi pq os nomes estariam errados... Pq 'Márcio' está errado e 'Marcio' está correto?!


Convenhamos que só existe uma forma correcta de escrever o nome. Portanto a outra está errada.
Sérgio escreve-se com acento , e embora eu escreve muitas vezes sem, isso não significa que está certo.

JavaBuilding : construções em java



Blog do MiddleHeaven
Lista de Discussão do MiddleHeaven
[WWW]
Edufa
JavaEvangelist
[Avatar]

Membro desde: 18/04/2006 10:20:03
Mensagens: 320
Localização: Curitiba, PR
Offline

Depende

Já vi Sérgio e Sergio, Suélen e Suelen, você encontra cada coisa em listagens de escola, e são os nomes que estão registrados em cartório. São nomes diferentes, apesar de serem pronunciados igualmente.

Edufa
Curitiba, PR
--
"O estado sou eu". - Luís XIV
"O estado somos nós."- Lênin
"O estado somos eu." - Lula
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3206
Localização: Rio de Janeiro
Offline

Se for no Postgresql, vc pode usar a função to_ascii

to_ascii(text [, codificação]) -- Converte texto em outras codificações em ASCII

ex:
to_ascii('Conseqüência') -> Consequencia

Ou seja, vc pode fazer um order by to_ascii(campo)

A função to_ascii permite apenas a conversão das codificações LATIN1, LATIN2, LATIN9 e WIN1250.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
AlanLojudice
JavaChild
[Avatar]

Membro desde: 05/09/2007 15:46:13
Mensagens: 102
Offline

A questão não é se tem acento o se não tem acento. O q esta errado é uma lista q tenha os nomes Alan, Álan, Pedro. Virem listados assim Alan, Pedro e Álan.

Eu eu uso o postgre e uso o ascii como encolding.

Vcs sabem se tenho q mudar algo no banco, o que tenho que fazer pra listar isso corratamente??

Obrigado

Alan

Alan Lojudice
[Email]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3206
Localização: Rio de Janeiro
Offline

vc tentou usar o to_ascii como eu sugeri?

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
AlanLojudice
JavaChild
[Avatar]

Membro desde: 05/09/2007 15:46:13
Mensagens: 102
Offline

Sim, mas nao deu certo.
Se eu dou um select da esse erro
ERROR: encoding conversion from SQL_ASCII to ASCII not supported.

Sei la o que fazer pra deixar na ordem isso viu

Alan Lojudice
[Email]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 6596
Localização: São Paulo/SP
Offline

Usa oque o VinyGodoy falou já tentou?

Github Facebook +Mark @MarkyHitchhiker WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team