pessoal, acho que marquei bobeira no comentário.

O trecho sobre LC_COLLATE /usr/share/i18n/locales/pt_BR em ficou assim:

LC_COLLATE
copy "iso14651_t1"

reorder-after <U00A0>
<U0020><CAP>;<CAP>;<CAP>;<U0020>
reorder-end

END LC_COLLATE


Ainda acho que não está correto, preciso testar mais e tb da ajuda de vcs.

que pode ser instalado com:

localedef -i pt_BR -c -f ISO-8859-1 -A /usr/share/locale/locale.alias pt_BR


(isso no meu Debian...)

Alguns teste:

nomes_ord.txt:

Rachel Mendes Beltr
Rachel Pompeu Pereira Gianeschi
Rafael
Rafaela
Rafaela Alinne Stecca
Rafaela Aparecida Da Fonseca
Rafaela Esteves Silveira
Rafaela Junqueira Correa
Rafaela Lemos De Simone
Rafaela Picheli Penha
Rafael Braga Da Fonseca
Rafael Bueno Penha
Rafael Fernandes Viana
Rafael Goncalves De Aguiar
Rafael Izler
Rafael Jose Maciel
Rafaella Dinali Andrade
Rafael Neves Ximenes
Raffael Amaral Loredo
Raissa Teixeira Mendonca De Souza

Ordenação

[EMAIL PROTECTED]:~/Desktop$ sort nomes_ord.txt
Rachel Mendes Beltr
Rachel Pompeu Pereira Gianeschi
Rafael
Rafael Braga Da Fonseca
Rafael Bueno Penha
Rafael Fernandes Viana
Rafael Goncalves De Aguiar
Rafael Izler
Rafael Jose Maciel
Rafael Neves Ximenes
Rafaela
Rafaela Alinne Stecca
Rafaela Aparecida Da Fonseca
Rafaela Esteves Silveira
Rafaela Junqueira Correa
Rafaela Lemos De Simone
Rafaela Picheli Penha
Rafaella Dinali Andrade
Raffael Amaral Loredo
Raissa Teixeira Mendonca De Souza

(Rafaéis e Rafaleas juntos)

Teste2:


nomes_ord.txt
Maria Noeli
Maria Érica
Mariana Castro
Maria Zelia
Maria Amanda
GABRIELA HELEDA DE SOUZA
GABRIEL ALCIDES KLIM PERONDI
GABRIELA LETICIA BATISTA NUNES
GABRIELA JACOBY NOS
GABRIEL ALEXANDRE DA SILVA MANICA
GÁBRIEL ALCIDES KLIM PERONDI
GÁBRIELA JACOBY NOS


Ordenação:

GABRIEL ALCIDES KLIM PERONDI
GÁBRIEL ALCIDES KLIM PERONDI
GABRIEL ALEXANDRE DA SILVA MANICA
GABRIELA HELEDA DE SOUZA
GABRIELA JACOBY NOS
GÁBRIELA JACOBY NOS
GABRIELA LETICIA BATISTA NUNES
Maria Amanda
Maria Érica
Maria Noeli
Maria Zelia
Mariana Castro

Teste3:

montes.txt :

Monte Alegre
Monte Sinai
Monteiro
Mão
Mõnbu

[EMAIL PROTECTED]:~/Desktop$ sort montes.txt
Mão
Mõnbu
Monte Alegre
Monte Sinai
Monteiro


Acho que agora vai não?

[]'s
- Walter


On 10/18/06, Walter Cruz <[EMAIL PROTECTED]> wrote:
Olá amigos. Hoje resolvi dar uma testada na questão da glibc do Linux e da ordenação.

Como eu pensei, mudar a ordenação é mais fácil do que compilar - basta editar a 'configuração da ordenação'

Como eu não pensei, isso é mais difícil que parece.

Descobri que esse 'bug' dos espaços acontece em vários idiomas, não só no nosso. Se quiserem e puderem, dêem uma olhada

O bug já foi resolvido para o polones.. Então, resolvi procurar :)

E lá vai:

Em /usr/share/i18n/locales/ editei o arquivo pt_BR

Adicionei após 'copy "iso4651_t1" as linhas abaixo, que retirei do locale polônes:


reorder-after <U00A0>
<U0020> <U0020>;IGNORE;<U0020>;<U0020>
reorder-end


Recompilei o locale com o comando:

# localedef -i pt_BR -c -f ISO-8859-1 -A /usr/share/locale/locale.alias pt_BR


Após isso, testei com um dos exemplos da última thread onde foi discutido o assunto:

Meu txt:

GABRIELA HELEDA DE SOUZA
GABRIEL ALCIDES KLIM PERONDI
GABRIELA LETICIA BATISTA NUNES
GABRIELA JACOBY NOS
GABRIEL ALEXANDRE DA SILVA MANICA
GÁBRIEL ALCIDES KLIM PERONDI
GÁBRIELA JACOBY NOS


E o resultado:

(só estou em dúvida em relação ao A e ao Á acentuado.. o padrão é esse mesmo?)

[EMAIL PROTECTED]:/scripts/testaSis$ cat sort.txt |sort
walter:/scripts/testaSis# cat sort.txt |sort
GABRIEL ALCIDES KLIM PERONDI
GABRIEL ALEXANDRE DA SILVA MANICA
GABRIELA HELEDA DE SOUZA
GABRIELA JACOBY NOS
GABRIELA LETICIA BATISTA NUNES
GÁBRIEL ALCIDES KLIM PERONDI
GÁBRIELA JACOBY NOS


Se alguém mais estiver com coragem de testar..

Segundo os caras lá, é bug do iso4651_t1, do qual quase todos os outros locales 'herdam';
Agora só falta testar no PostgreSQL :)


Um teste que fiz aqui (aparentemente está okey):

Em um micro sem a alteração do locale:

=========
Sabino
Sagres
Sales
Sales Oliveira
Salesópolis
Salmourão
Saltinho
Salto
Salto de Pirapora
Salto Grande
Sandovalina
Santa Adélia
Santa Albertina
Santa Bárbara d'Oeste
Santa Branca
Santa Clara d'Oeste
Santa Cruz da Conceição
Santa Cruz da Esperança
Santa Cruz das Palmeiras
Santa Cruz do Rio Pardo
Santa Ernestina
Santa Fé do Sul
Santa Gertrudes
Santa Isabel
Santa Lúcia
Santa Maria da Serra
Santa Mercedes
Santana da Ponte Pensa
Santana de Parnaíba
Santa Rita d'Oeste
Santa Rita do Passa Quatro
Santa Rosa de Viterbo
Santa Salete
Santo Anastácio
Santo André
Santo Antônio da Alegria
Santo Antônio de Posse
Santo Antônio do Aracanguá
Santo Antônio do Jardim
Santo Antônio do Pinhal
Santo Expedito
Santópolis do Aguapeí
Santos
São Bento do Sapucaí
São Bernardo do Campo
São Caetano do Sul
São Carlos
São Francisco
São João da Boa Vista
São João das Duas Pontes
São João de Iracema
São João do Pau d'Alho
São Joaquim da Barra
São José da Bela Vista
São José do Barreiro
São José do Rio Pardo
São José do Rio Preto
São José dos Campos
São Lourenço da Serra
São Luís do Paraitinga
São Manuel
São Miguel Arcanjo
São Paulo
São Pedro
São Pedro do Turvo
São Roque
São Sebastião
São Sebastião da Grama
São Simão
São Vicente
Sarapuí
Sarutaiá
Sebastianópolis do Sul
Serra Azul
Serrana
Serra Negra
Sertãozinho
Sete Barras
Severínia
Silveiras
Socorro
Sorocaba
Sud Mennucci
Sumaré
Suzanápolis
Suzano
=========

Em um micro já alterado:

=============
Sabino
Sagres
Sales
Salesópolis
Sales Oliveira
Salmourão
Saltinho
Salto
Salto de Pirapora
Salto Grande
Sandovalina
Santana da Ponte Pensa
Santana de Parnaíba
Santa Adélia
Santa Albertina
Santa Bárbara d'Oeste
Santa Branca
Santa Clara d'Oeste
Santa Cruz das Palmeiras
Santa Cruz da Conceição
Santa Cruz da Esperança
Santa Cruz do Rio Pardo
Santa Ernestina
Santa Fé do Sul
Santa Gertrudes
Santa Isabel
Santa Lúcia
Santa Maria da Serra
Santa Mercedes
Santa Rita d'Oeste
Santa Rita do Passa Quatro
Santa Rosa de Viterbo
Santa Salete
Santópolis do Aguapeí
Santos
Santo Anastácio
Santo André
Santo Antônio da Alegria
Santo Antônio de Posse
Santo Antônio do Aracanguá
Santo Antônio do Jardim
Santo Antônio do Pinhal
Santo Expedito
São Bento do Sapucaí
São Bernardo do Campo
São Caetano do Sul
São Carlos
São Francisco
São João das Duas Pontes
São João da Boa Vista
São João de Iracema
São João do Pau d'Alho
São Joaquim da Barra
São José da Bela Vista
São José dos Campos
São José do Barreiro
São José do Rio Pardo
São José do Rio Preto
São Lourenço da Serra
São Luís do Paraitinga
São Manuel
São Miguel Arcanjo
São Paulo
São Pedro
São Pedro do Turvo
São Roque
São Sebastião
São Sebastião da Grama
São Simão
São Vicente
Sarapuí
Sarutaiá
Sebastianópolis do Sul
Serrana
Serra Azul
Serra Negra
Sertãozinho
Sete Barras
Severínia
Silveiras
Socorro
Sorocaba
Sud Mennucci
Sumaré
Suzanápolis
Suzano

==============

A princípio, acho que isso resolve não (ou pelo menos ajuda a resolver ...)?

Em tempo: o Firebird não sofre do mal pq não usa a ordenação da glibc, mas de um módulo chamado ICU, da IBM ( http://www-306.ibm.com/software/globalization/icu/index.jsp ) . Inclusive naqueles testes da Cobevery, foram achados alguns bugs nesse módulo ( http://www.firebirdnews.org/?p=243 ) . Segundo o TODO do PostgreSQL, há a possibilidade de uso dessa biblioteca no PostgreSQL.

Alguém mais poderia fazer esses testes pra validarmos?

[]'s
- Walter



_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a