_ Autor original: tfmorris (12 de novembro de 2011 19:51:37) _
Atualmente, os caracteres minúsculos são classificados após todos os caracteres maiúsculos, então 'T' e 't' estão em locais totalmente diferentes e os caracteres internacionais são agrupados no final, de modo que 'Österreichische' está a quilômetros de 'O's.
Devemos dobrar maiúsculas e minúsculas e sinais diacríticos em suas formas básicas.
_Problema original: http://code.google.com/p/google-refine/issues/detail?id=482_
_De tfmorris em 12 de novembro de 2011 20: 33: 31: _
r2371 torna a ordem de classificação insensível a maiúsculas e minúsculas, mas o Javascript não parece ter um método de dobramento diacrítico embutido, então isso vai dar um pouco mais de trabalho.
Depois de confirmar a "correção", descobri que isso pode ser na verdade um bug / diferença específico do navegador, mas não parece que houve muito progresso no conserto, então provavelmente devemos assumir que o estado atual vai existir por um tempo.
http://code.google.com/p/v8/issues/detail?id=459
Há um snippet de código aqui que pode ser usado para limpar diacríticos: http://lehelk.com/2011/05/06/script-to-remove-diacritics/
Esperar 8 anos tem suas vantagens - agora há suporte ECMAscript para Intl.Collator, que agrupa maiúsculas e minúsculas e formas diacríticas (de acordo com as regras específicas do local).
A implementação localeCompare()
padrão agrupa os diacríticos, pelo menos para a localidade en-US com o Chrome, mas presumivelmente agrupa as coisas da maneira que os usuários esperam em todas as localidades, então acho que podemos fechar isso.
Comentários muito úteis
Esperar 8 anos tem suas vantagens - agora há suporte ECMAscript para Intl.Collator, que agrupa maiúsculas e minúsculas e formas diacríticas (de acordo com as regras específicas do local).